在Win 2000下,如何隐藏调用外部程序(有200分奉送) (200分)

  • 主题发起人 主题发起人 softgold
  • 开始时间 开始时间
S

softgold

Unregistered / Unconfirmed
GUEST, unregistred user!
以下方法都试过了,是不行的,请高手帮忙一下:<br><br>1。ShowWindow(HWnd, SW_HIDE);<br><br>2。shellExecute(0,'',pchar(ExeFileName),'','',SW_HIDE);<br><br>3。FillChar(StartupInfo,SizeOf(StartupInfo),#0);<br>&nbsp; &nbsp;StartupInfo.cb:=SizeOf(StartupInfo);<br>&nbsp; &nbsp;StartupInfo.dwFlags:=STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;<br>&nbsp; &nbsp;StartupInfo.wShowWindow:=SW_HIDE;<br>&nbsp; &nbsp;CreateProcess(PChar(ExeName),nil,nil,nil,false,Normal_priority_class,nil,nil,StartupInfo,ProcessInfo);<br><br>我的系统是 win 2000 + Delphi6<br>
 
WinExec('arj',SW_HIDE);<br><br>ok?<br>我试着没问题。 <br>
 
你调用的程序是不能被隐藏运行的吧...
 
WinExec('arj',SW_HIDE);是不行的,我刚试过了<br><br>To: yanghaijun, 什么样的程序是不能隐藏运行的呢,我刚才试了,记事本是可以隐藏的,<br>但是我自己写的一个程序隐藏不了,别的就没再测试了。<br><br>什么样的程序是不能隐藏运行的呢?
 
怎样让程序本身判断那些可执行文件可以隐藏运行,哪些可执行文件不能隐藏运行,<br>然后再决定是否运行这些文件,谁把这个问题解决了,这150分就给他吧,<br>另外50分是给yanghaijun留的。他给我提示了一个思路。
 
好像用Delphi编出来的程序一般是不能用这种方法隐藏运行的...<br>没有更好的办法来测试哪些可执行文件是可隐藏运行哪些不行,只能自己试了.
 
自己试是不实际的,程序要在远端主机上运行,可能要启动各式各样的可执行文件,<br>如果被启动的程序显示界面了,那就不太好了!
 
那...可能性不大了...
 
uses<br>&nbsp; &nbsp;shellapi;<br>winexec('d:/windows/system32/notepad.exe',sw_hide);
 
你说的“隐藏”是什么意思?<br>不在任务栏上显示,还是不在任务列表中出现?<br>如果是前者,那么 WinExec('exe_pahname', SW_HIDE) 就可以。
 
问题没得到解决。<br>但是非常感谢各位朋友的参与,请收分。
 
多人接受答案了。
 
两个都是自己写的程序很好办 被调用程序支持命令行方式就可以了 收到特定串就以隐藏方式运行不就是了吗[:D]
 
后退
顶部