我要做的是在vb6窗体中嵌入一个已有的程序,该exe是dos界面。
解决方案 »
- 三层结构中的数据交互
- VB使用SetAccess设置文件访问权限后提示“上的权限顺序不正确,可能导致某些数据项无法作用”
- 求VB的window API
- 如何实现两个文本框的同步显示
- 日期问题
- 惭愧ing,关于dll的简单问题。
- 带参数启动外部程序,高分相赠,在线等待
- 很简单的字符串排序问题
- 我在Form1中加入一个MSHFlexGri(Grid1)控件和一个text(txtInput)控件,txtInput编辑Grid1中的字段,可是当我编辑完一条记录后并移到另一
- 悬赏!谁能告诉我Virtual DAEMON它所涉及到的原理?或者up一下?
- vb中WebBrowser1提交页面验证码不用每次输入问题
- AutoCAD VBA绘制断面计算土方时如何建立Excel表
1、使用FindWindow查找到DOS界面窗口的句柄
2、使用SetParant将该窗口设置到目标窗体内
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Sub Command1_Click()
Dim lngP As Long
Dim lngDOSHwnd As Long
lngDOSHwnd = FindWindow(vbNullString, "C:\WINDOWS\System32\cmd.exe")
lngP = SetParent(lngDOSHwnd, Me.hWnd)
End SubPrivate Sub Form_Load()
Shell "cmd.exe", vbNormalNoFocus
Me.WindowState = 2
End Sub
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
Private Sub Command1_Click()
Dim lngP As Long
Dim lngDOSHwnd As Long
lngDOSHwnd = FindWindow(vbNullString, "C:\WINDOWS\System32\cmd.exe")
lngP = SetParent(lngDOSHwnd, Me.hwnd)
lngP = MoveWindow(lngDOSHwnd, 100, 100, 200, 200, 0)
Me.Refresh
End SubPrivate Sub Form_Load()
Shell "cmd.exe"
Me.WindowState = 2
End Sub
再次点击COMMAND1_CLICK()时,就不出现dos了,是不是我并没有在vb里关掉调用的dos,怎么办呢?