关于PostMessage参数的问题!谢谢!
procedure TForm1.Button1Click(Sender: TObject);
var
wnd:HWnd;
begin
wnd:=FindWindow(nil,'软件x');
if wnd >0 then
begin
PostMessage(wnd, ?,?, ?);
//判断软件是否运行,如果运行了,就显示出来在最前面.
//请问PostMessage函数的?号 位置如何写参数?
end
else
begin
ShellExecute(Handle,
'Open',
'..\软件x'.EXE',
nil,
nil,
SW_SHOW);
end;
end;
问题点数:20、回复次数:10Top
1 楼liangqingzhi(老之)回复于 2006-07-04 11:11:41 得分 0
直接用SetForegroundWindow(wnd);Top
2 楼diablobaal(无敌马桶)回复于 2006-07-04 11:25:08 得分 0
postmessage(wnd,WM_keydown,109,0)Top
3 楼diablobaal(无敌马桶)回复于 2006-07-04 11:26:07 得分 0
PostMessage (Wnd, wm_Close, 0, 0)Top
4 楼diablobaal(无敌马桶)回复于 2006-07-04 11:26:25 得分 0
PostMessage (Wnd, wm_Close, 0, 0)Top
5 楼pongjun64(迪安)回复于 2006-07-04 11:26:59 得分 0
不會是寫外掛之類的程序吧,俺不會,關注中。。。。。Top
6 楼zhangzefeng0816()回复于 2006-07-04 11:27:01 得分 0
liangqingzhi(老之) ( ) 信誉:105 2006-07-04 11:11:00 得分: 0
直接用SetForegroundWindow(wnd);
答复:
在 '软件x.EXE' 第一次ShellExecute()运行后,然后最小化.然后还是不能最大化??????
Top
7 楼zhanghao16(玄冰)回复于 2006-07-04 11:45:58 得分 20
楼上用的函数是将窗口设为前台窗口,所以在这里能不适合,如果不信,楼主可以试试看。
一般来讲,处理这个问题,大多使用ShowWindow(wnd, SW_SHOW);Top
8 楼liangqingzhi(老之)回复于 2006-07-04 11:59:33 得分 0
在 '软件x.EXE' 第一次ShellExecute()运行后,然后最小化.然后还是不能最大化??????
--------------------
不是很明白你的意思。ShellExecute最后一个参数:
最小化:SW_SHOWMINIMIZED
最大化:SW_SHOWMAXIMIZED
你参考一下:
http://blog.csdn.net/linzhengqun/archive/2005/12/29/564646.aspxTop
9 楼zhangzefeng0816()回复于 2006-07-04 12:43:56 得分 0
:zhanghao16(玄冰) 的方法可以.谢谢Top
10 楼zhangzefeng0816()回复于 2006-07-04 12:49:16 得分 0
zhanghao16(玄冰) 的方法.可以ShowWindow 后 ,wnd对应的 EXE 不能最小化了??????????????????????????????Top




