打开另一个程序后怎么激活原来的窗体
打开另一个程序后如何激活原来的窗体?我用下面的方法调用写字板程序后,结果原来窗体的TEXT控件失去了焦点。
打开另一个程序后如何激活原来的窗体?
我用下面的方法调用写字板程序后,结果原来窗体的TEXT控件失去了焦点。
Assembly codeDECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,STRING lpszOP,STRING lpszFile,STRING lpszParams,STRING lpszDir,INTEGER fsshowcmd DECLARE INTEGER GetDesktopWindow IN win32api HWND = GetDesktopWindow() lpszOP = "open" * 指定要打开的文件名 lpszFile ="ab.exe" lpszParams = "" lpszDir = "Hand" fsshowcmd =1 &&0表示隐藏,1正常方式、2最小化方式、3最大化方式。 LNRETURN = ShellExecute(HWND, lpszOP,lpszFile, lpszParams, lpszDir,fsshowcmd)
怎么重新激活原来的窗体,让TEXT控件重新获取焦点?谢谢!!
[解决办法]以前用VFP做过一个输入法程序,思路供参考:
1、用API函数SetCapture实现绑定原VFP窗口;
*声明
Declare Long SetCapture in "user32" Long hwnd
Declare Long FindWindow in "user32" String lpClassName, String lpWindowName
*调用(VFP 7.0以上版本,7.0以下版本需要配合API函数FindWindow获取当前VFP程序句柄)
SetCapture(thisform.hwnd)
2、启动程序(调用写字程序);
*调用写字程序
3、完成后,用API函数ReleaseCapture释放原VFP窗口绑定状态。
*声明
Declare Long ReleaseCapture in "user32" Long
*调用
ReleaseCapture()