[Delphi]·后台运行一个exe,使他不显示窗体(比如隐藏运行QQ),SW_Hide不好使
[Delphi]·后台运行一个exe,使他不显示窗体(比如隐藏运行QQ),SW_Hide不好使。我的意思是,寻求一种隐藏运行本地exe文件的思路,只要求不显示窗体即可,进...
[Delphi]·后台运行一个exe,使他不显示窗体(比如隐藏运行QQ),SW_Hide不好使。我的意思是,寻求一种隐藏运行本地exe文件的思路,只要求不显示窗体即可,进程无所谓。
winexec �0�2和 �0�2ShellExec 对于一些程序都没用,比如QQ。
求代码。
先谢谢 展开
winexec �0�2和 �0�2ShellExec 对于一些程序都没用,比如QQ。
求代码。
先谢谢 展开
1个回答
2013-05-18
展开全部
给你一个思路:1、用WinExec、ShellExec或CreateProcess运行可执行程序。//这一步不用教了吧?2、用一个TIMER定时遍历该进程的可视窗体,并发送隐藏窗口的消息 先将已动作的进程,取它的进程ID放到临时变量里。{做个枚举全部窗体用的}function Enum_ALL(Hw: HWND;lp: LPARAM): Boolean;stdcall;
begin
if 进程ID变量=Inttostr(GetWindowThreadProcessId(HW)) then
Begin
If IsWindowVisible(Hw) And IsWindowEnabled(Hw) then
begin
ShowWindow(hw,SW_Hide); //隐藏它
end;
end;
Result:=True;
end;在需要开始枚举窗体的地方调用下。 EnumWindows(@Enum_ALL,0); 这样做的话,什么窗口都可以让它隐藏起来。
begin
if 进程ID变量=Inttostr(GetWindowThreadProcessId(HW)) then
Begin
If IsWindowVisible(Hw) And IsWindowEnabled(Hw) then
begin
ShowWindow(hw,SW_Hide); //隐藏它
end;
end;
Result:=True;
end;在需要开始枚举窗体的地方调用下。 EnumWindows(@Enum_ALL,0); 这样做的话,什么窗口都可以让它隐藏起来。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询