我想有它执行基于C我怎样才能运行exe可执行文件(写一个txt文件)在传统的ASP
的exe文件filew.exe通过filew编译生成一个exe文件的服务器页面。 C;
filew.c>
#include <stdio.h>
int main()
{
FILE * fp;
fp = fopen("test.txt" , "w");
char* testStr = "this is test string";
fwrite(testStr , 1 , sizeof(testStr) , fp);
fclose(fp);
return 0;
}
我试过一些方法来做到这一点;
开始我尝试用shellObject
Dim shellObj
Set shellObj = Server.CreateObject("WScript.Shell")
shellObj.run "E:\test\filew.exe"
set shellObj = nothing
它没有工作运行..所以我想,执行此
Dim shellObj
shellObj = Server.CreateObject("Shell.Application")
shellObj.ShellExecute "E:\test\filew.exe"
Set shellObj = nothing
仍然没有......所以我做了一个批处理文件exe文件
下的test.bat>
dir > e:\test\dir1.txt
E:\test\filew.exe
dir > e:\test\dir2.txt
//第一和第三行是为了测试该批处理文件是否执行所有的正确与否
我通过
Dim shellObj
Set shellObj = Server.CreateObject("WScript.Shell")
shellObj.run "E:\test\test.bat"
set shellObj = nothing
叫这个批处理文件的结果是...只有dir1.txt和dir2.txt被创建,但没有test.txt!
您检查文件的权限?应该启用IIS用户来执行您所描述的操作(执行可执行文件和写入文件)。 – misleadingTitle 2013-05-03 08:34:00
你没有收到任何错误/消息吗?尝试将您的代码块(ASP)包装在“On Error”块中。 – Paul 2013-05-03 12:06:27
.exe文件是用于执行代码的,只是将“this is test string”写入文件并将其命名为“something.exe”将不会实现任何内容,因为它不会是有效的“机器代码”,并且没有正确的标题系统可能会忽略该文件的开始。 – 2013-05-03 15:13:59