如何让一个程序最小化后不在任务栏出现?(80分)

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

AthlonXP

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大使侠,有一个问题想请教!<br>大家看到这个问题时可能会认为我是想让我自己写的程序最小化后不出现在任务栏上,不是这样的。事实是:最近玩一个网络游戏上班的时候想挂机,让老板看到总是不大好,即使是最小化后也会在任务栏上,出现很不方便,所以动了这样的想法,希望能得到帮助。<br>我的方案是:<br>1) 通过一个程序能启动游戏,这个可以用ShellExecute()实现。但需要请教一下的是:ShellExecute()返回的是一个进程的句柄,是不是就是process ID啊?和这个程序的窗口句柄有关系吗?<br>2)得到游戏窗口的句柄,这里就不太清楚了,如何得到呢?我既不知道窗口的类名称又不知道他的名字啊。<br>3)用ShowWindowLong控制该程序在任务栏出不出现。<br>请各位大侠赐教!!!!!<br><br> 
 
3)。使程序的图标不出现在任务栏上:<br>procedure TForm1.FormCreate(Sender: TObject);<br>begin <br>&nbsp; &nbsp;//将程序窗口样式设为TOOL窗口,避免在任务栏上出现<br>&nbsp; SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);<br>end;<br>
 
用spy可以查看窗口名。<br>再winAPI: showWindow()
 
让状态条自动隐藏不就完了吗?<br>另外到华军软件园找一找,有一种更换桌面的软件,整个桌面都可换过来的
 
SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
 
谢谢,szgh明白了我问的啥意思,指导得好!问题解决了。不过我的第一个问题还有人愿意讲讲吗?<br><br>ShellExecute()返回的是一个进程的句柄,是不是就是process ID啊?和这个程序的窗口句柄有关系吗?<br>
 
procedure TForm1.FormCreate(Sender: TObject);<br>begin <br>&nbsp; &nbsp;SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);<br>end;<br>另外让状态条自动隐藏也是个好办法!<br>
 
接受答案了.
 
后退
顶部