首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

怎么实现把其他程序的显示窗口合并到bcb开发的程序窗口中(如panel中)

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

如何实现把其他程序的显示窗口合并到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函数。

热点排行