后台打开一个外部程序,即不让外部程序show出来,而是hide掉!(100分)

  • 主题发起人 主题发起人 ahpei
  • 开始时间 开始时间
A

ahpei

Unregistered / Unconfirmed
GUEST, unregistred user!
WinExec(PChar(FileName),SW_HIDE);<br>ShellExecute(0,'Open',PChar(Filename),nil,nil,SW_HIDE);<br>ShowWindow(Handle,SW_HIDE);<br><br>上面三种都试了,都不行.我的操作系统是win 2000.请指教!<br>
 
以上都不行?!<br>是windows 还是 console 程序。
 
试试这个:<br>function RunExeName(const ExeName, Paramters: string): THandle;<br>var<br>&nbsp; st: TStartUpInfo;<br>&nbsp; ProcInf: TProcessInformation;<br>&nbsp; ProcHandle: Thandle;<br>&nbsp; tt: Cardinal;<br>begin<br>&nbsp; FillChar(st, sizeof(st), #0);<br>&nbsp; with st do<br>&nbsp; begin<br>&nbsp; &nbsp; cb := sizeof(st);<br>&nbsp; &nbsp; dwFlags := StartF_UsesTDHandles or STARTF_USESHOWWINDOW;<br>&nbsp; &nbsp; lptitle := nil;<br>&nbsp; &nbsp; wShowWindow := SW_Hide;<br>&nbsp; end;<br>&nbsp; CreateProcess(nil,PChar(ExeName + ' ' + Paramters), nil, nil, true,<br>&nbsp; &nbsp; DETACHED_PROCESS, nil,<br>&nbsp; &nbsp; pchar(ExtractFilePath(Exename)), st, ProcInf);<br>&nbsp; ProcHandle := OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcInf.dwProcessId);<br>&nbsp; Result := ProcHandle;<br>end;<br><br>
 
www:<br>还是不成功!!ExeName为全路径的文件名, 参数为 '' 结果外部程序的窗体<br>还是show出来了!请指教!
 
是什麼程序?<br>能說說嗎?也許那個程序本身不允許HIDE!
 
jsxjd:<br>是 windows 程序而不是 console<br><br>ljy_17:<br>我的系统是win2000 Family Server<br>上面的方法在我的系统上随便一个程序都不行的!!<br>请问一下,程序本身不允许HIDE是怎么做的?<br>
 
本身的外部程序允许隐藏吗,或者能够做成服务的形式吗
 
winexec(filename,sw_hide)可以的,我试过了
 
我也试过了不行啊<br><br>&nbsp; winexec(pchar('c:/poweroff.exe'), sw_show);<br>我用这条语句不行啊
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部