能否在cgi中使用winapi函数shellexecute or winexec or createprocess来运行程序?(200分)

  • 主题发起人 主题发起人 delphi168
  • 开始时间 开始时间
D

delphi168

Unregistered / Unconfirmed
GUEST, unregistred user!
我想写一个cgi程序,当浏览器访问该cgi时能够运行一个程序,例如是notepad.exe
我的代码是
shellexecute(0,'open','c:/winnt/system32/notepad.exe',nil,nil,sw_shownormal)
然而当浏览器访问该cgi时,在服务器的桌面上看不到notepad的运行,
但在任务管理器中能看到notepad.exe正在运行,但不能结束它。
请高手指教是什么原因?有什么办法解决。
 
补充说明
shellexecute函数的返回值是43
 
CGI反馈到客户端的~~
你要是运行一个没有界面的程序呢?有没有实验一下?
 
第一个参数给个handel看看。
如:Application->Handle
 
直接在DOS下运行你的CGI程序看看结果噻,我想CGI没有这个限制,多半是哪个地方没对。
 
Win98+PWS肯定可以
 
是CGI还是ISAPI??
 
程序是执行了,但是不会显示出界面,就像你telnet到一台机器上,打notepad,程序会执行,
不过当然显示不出来界面,因为它不是标准的stdout输出,用户访问你的时候是用IUSR_xxx
这一个用户来执行命令的,不会显示出界面,就算要显示也是他能看得见。(当然不可能显示出来了)
如果是一个console程序有输出的化,在网页上就会看到输出的内容,不过你还是看不见的,
和你本机运行程序完全是两码事,输出的控制台不一样。
 

Similar threads

后退
顶部