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

求解:怎么将一个外部程序运行在自己的窗口中

2012-04-07 
求解:如何将一个外部程序运行在自己的窗口中?比如一个exe格式的电子书,让他运行在我的一个form中。也就是说

求解:如何将一个外部程序运行在自己的窗口中?
比如一个exe格式的电子书,让他运行在我的一个form中。
也就是说要修改它的父窗口为我的form,再修改他的位置。

能做到吗?如何做?
谢谢了。


[解决办法]

VB code
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As LongPrivate Sub Form_Load()    Shell "calc.exe", vbNormalNoFocus '打开计算器End SubPrivate Sub Command1_Click()    Myhwnd = FindWindow(vbNullString, "计算器") '得到计算器的句柄    SetParent Myhwnd, Me.hwndEnd Sub
[解决办法]
先找到目标窗口的句柄,再把它的父体设置成你的窗体
VB code
Private Sub Command1_Click()    Dim n As Long    n = FindWindow(vbNullString, "扫雷")        SetParent n, me.hWndEnd Sub
[解决办法]
探讨
使用 shell 或 shellexecute 执行的不确定的程序,用FindWindow 无法确定其hwnd,该如何才能获得他的hwnd?

热点排行