【发布时间】:2012-02-08 13:06:29
【问题描述】:
我已经设法从其他问题中找到了一些数据,可以让我实现下一个代码:
Imports System.Runtime.InteropServices
Public Class Form1
<DllImport("user32.dll")> _
Public Shared Function MoveWindow(ByVal hWnd As IntPtr, ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal bRepaint As Boolean) As Boolean
End Function
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Public Shared Function SetParent(ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As IntPtr
End Function
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function FindWindow( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As IntPtr
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim hwnd As IntPtr
hwnd = FindWindow(vbNullChar, "C:\\WINDOWS\\system32\\cmd.exe")
If hwnd.Equals(IntPtr.Zero) Then
MessageBox.Show("Got null handle")
Else
SetParent(hwnd, Me.Handle)
MoveWindow(hwnd, 0, 0, Me.Width, Me.Height, False)
End If
End Sub
End Class
我的问题是找不到 DOS 控制台窗口。
【问题讨论】:
-
你真的是指DOS吗?我不知道有人还在使用 MS-DOS(现在还在维护吗?)
-
我的意思是一个 Windows 控制台。 This window.
-
你可能找不到它,因为它并不总是有这个标题:
C:\\WINDOWS\\system32\\cmd.exe。例如,我的没有。 -
因为这是 VB,所以你的路径只能使用单斜杠,而不是双斜杠。
-
真的很有帮助!我刚刚使用它并且工作完美无瑕。感谢您的代码和问题
标签: .net windows vb.net winapi windows-console