程序在后台运行,被热键触发以后,我需要弹出自己的窗口并获取当前系统输入
我已经实现热键触发,但就是不能很好的弹出来
设置窗口到前台的API函数只能使标题闪烁;
把窗口设为TOP顶层窗口这样又不太好;
我现在先调用“刷新桌面”最小化所有窗口,然后Restore自己的窗口,但这样感觉不好。
另外怎样激活其他程序到前台(已知进程ID)?
我已经实现热键触发,但就是不能很好的弹出来
设置窗口到前台的API函数只能使标题闪烁;
把窗口设为TOP顶层窗口这样又不太好;
我现在先调用“刷新桌面”最小化所有窗口,然后Restore自己的窗口,但这样感觉不好。
另外怎样激活其他程序到前台(已知进程ID)?
BringToFront 不行
ShowWindow 好像也不行
ShowWindow(Application.Handle, SW_Show);
SetForegroundWindow(Application.Handle);
Form1.Visible := True;
我实现了热键呼叫(98,2000,XP的DrectX游戏模式下都可以),但在弹出自己的窗口时遇到了问题,系统不让切换键盘输入焦点
1.让窗口alwayTop一下.
2.AttachInput到当前活动进程,再SetActiveWindow
SetWindowpos(h,HWND_TOPMOST,100,100,0,0,sw_shownormal);
不知道楼主要得是不是这样的结果
SetWindowpos(h,HWND_TOP,100,100,0,0,sw_shownormal);
//procedure SwitchToThisWindow(hWnd:HWND;bRestore:Boolean);stdcall;external 'user32.dll';//SwitchToThisWindow(self.handle,false);
//yourform.show;