如何激活其它程序的窗口
编号:QA001106
建立日期: 1999年6月3日 最后修改日期:1999年6月3日
所属类别:
邓建松:
我正自学DELPHI4,现遇到一个问题请下列程序段:
fwnd:=findwindow(nil,"pc-dos");
setwindowpos(fwnd,HWND_TOPMOST,0,0,0,0,(SWP_SHOWWINDOW or SWP_HIDEWINDOW));
setactivewindow(fwnd);
setforegroundwindow(fwnd);
意思是找到这个最小化的窗口句柄,然后利用这些函数切换到这个窗口(书上这样说),然而没有动静,请指点!不胜感谢!
回答:
你这段程序存在一些问题。一个拼写错误是Delphi采用单引号括住字符串,而不是双引号。你的程序主要问题在SetWindowPos的参数,你使用的(SWP_SHOWWINDOW or SWP_HIDEWINDOW),而且将窗口高度和宽度都设置为零,这样该窗口就被隐藏了。正确的参数应该是这样的:
SetWindowPos(fwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_SHOWWINDOW or SWP_NOSIZE or SWP_NOMOVE);
如果你希望窗口恢复正常,也可以在SetWindowPos后加上
ShowWindow(fwnd, SW_SHOW);
这样有时更好些。
此问题由李海回答。
| |
|
|
| |
|
|