我已经设法从其他问题find一些数据,使我能够实现下一个代码:
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",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,Me.WIDth,Me.Height,False) End If End Sub End Class
我的问题是,我无法findDOS控制台窗口。
在C#中的问题在windows窗体中embedded一个DOS控制台
你能以编程的方式看到USB设备在windows中请求多less安培数?
如何在windows上使用.Net构buildiphone应用程序?
如何从C#中的打印机中删除访问控制条目?
从.NET应用程序login到windows
Mono在Ubuntu上抛出OutOfMemoryException,而不是OSX或windows
在安装期间为每个客户端分配唯一的ID
获取桌面/ shell窗口的句柄
如何获得过去10年的夏令时间界限
防止subprocess创build可见的窗口?
如何使C#应用程序充当服务?
在c#中使用控制台窗口作为基础,可以修改代码:
<Dllimport("user32.dll",EntryPoint:="FinDWindow",SetLastError:=True)> _ Private Shared Function FinDWindowByCaption(ByVal zeroOnly As IntPtr,ByVal lpWindowname As String) As IntPtr End Function ''in frmload: hwnd = FinDWindowByCaption(IntPtr.Zero,"c:windowssystem32cmd.exe")
正如Jon Skeet所说:
这是哈克,这是可怕的,但它适用于我(谢谢,pinvoke.net!):
而科迪·格雷对此也是正确的:
您可能无法找到它,因为它不会总是有这个标题: C:\windows\system32\cmd.exe 。 我的例子不是。
所以它有效,但是很片面。
总结以上是内存溢出为你收集整理的用Visual Basic在Windows窗体中embeddedDOS控制台全部内容,希望文章能够帮你解决用Visual Basic在Windows窗体中embeddedDOS控制台所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)