读书人

怎么实现把其他程序的显示窗口合并到b

发布时间: 2012-02-29 16:44:10 作者: rapoo

如何实现把其他程序的显示窗口合并到bcb开发的程序窗口中(如panel中) - C++ Builder / Windows SDK/API
如何实现把其他程序的显示窗口合并到bcb开发的程序窗口中(如panel中)

[解决办法]
等待进程启动完毕可以试试用WaitForInputIdle方法,MSDN里这么说的。
[解决办法]

Delphi(Pascal) code
procedure TForm1.Button1Click(Sender: TObject);var    H1,H2: Hwnd;begin    // 先行要放入案的外部EXE案(用藏方式行)    WinExec('C:\Program Files\TOOLS\MYIE\MyIE.exe',SW_HIDE);    // 再找到外部EXE案    H1 := FindWindow(nil,PChar('MyIE'));    // 假找到行之程式後要放在 Panel1    H2 := Panel1.Handle;    // 外部程式放在 Panel1    Windows.SetParent(H1,H2);    // 定外部程式示的位置及大小    // MoveWindow(hWnd,X,Y,W,H,B) : RETURN BOOL    //        hWnd: HWND    //        X:Integer; {horizontal}    //        Y:Integer; {vertical}    //        W:Integer; {the new window width}    //        H:Integer; {the new window height}    //        B:BOOL;    {the repaint flag}    MoveWindow(H1,0,0,Panel1.Width,Panel1.Height,True);    //    Windows.ShowWindow(H1,SW_ShowNormal);end;
[解决办法]

程序中安装钩子 WH_CBT ,如果属于你需要的窗口,调用SetParent函数。

读书人网 >C++ Builder

热点推荐