你的位置:首页 > Java教程

[Java教程]Atitit。激活某个程序的apiattilax总结

Atitit。激活某个程序的api attilax总结

 

 

1. 设置当前某窗口为当前窗口,有几个步骤要做:
1.得到窗口句柄FindWindow
2.切换键盘输入焦点AttachThreadInput
3.显示窗口ShowWindow(有些窗口被最小化/隐藏了)
4.更改窗口的Zorder,SetWindowPos使之最上,为了不影响后续窗口的Zorder,改完之后,再还原
5.最后SetForegroundWindow
这样应该可以保窗体跑到前台吧??

 

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:[email protected]

转载请注明来源: http://www.cnblogs.com/attilax/

 

2. Ahk法 ctrl+alt+shift+f1

;; act  main app

+^!F1:: 

msgbox act..

actMainWin()

return

 

3. Win api SetForegroundWindow  版本 2
知激活一个窗口最有效的方法当然就是SetForegroundWindow,但在主窗口中调用这个函数激活自己的效果却是只在标题栏闪了一闪,如果在其他进程调用该函数则不会有问题;另外,如果程序是最小化的,它连闪都不闪了。
ShowWindow (句柄, 9)
SetForegroundWindow (句柄)
SetWindowPos (句柄, -1, 0, 0, 0, 0, 3)‘这个句柄就是你要切换的窗口的句柄

 

4. Refer

Delphi实现程序只运行一次并激活已打开的程序 - Talo - 博客园.htm

VC 实现程序只运行一个实例,并激活已运行的程序_华仔103_新浪博客.htm

讨论一下,如何确保SetForegroundWindow()成功       -CSDN论坛-CSDN.NET-中国最大的IT技术社区.htm