VB程序显示指定窗口!

来源:百度知道 编辑:UC知道 时间:2024/06/25 05:20:40
我想让桌面上的一个窗口(其他程序的),显示在我VB程序的一个窗口里面,怎么弄?

一楼正解。

① 如果知道那个窗口的句柄(比如为1684452),就可以使用 SetParent 函数:
【定义】Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
【用法】SetParent 1684452, Me.Hwnd ' 或者是别的窗体的 hwnd

② 如果不知道那个窗口的句柄,可以用 FindWindow 函数确定其句柄,然后再调用 SetParent 函数:
【定义】Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
【用法】l& = FindWindow("窗体类名", "窗口标题") ' 如果没有或不明,可以传递 vbNullString

可以用 GetParent 函数确定你得到的句柄是否为一个窗口:
【定义】Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
【用法】b = (GetParent(句柄) = 0)

SetParent 其他程序句柄,自己程序句柄

还原方法为:

SetParent 其他程序句柄,0’0表示返回到嵌入窗体之前状态。

用SetParent