如何在Windows窗体中嵌入DOS控制台

如何在Windows窗体中嵌入DOS控制台,第1张

方法是简单地不显仔数败示DOS应用程序(使用CreateNoWindow),并通过读取和写入流来念颤"simulate”Windows应用程序中DOS应用程序的UI。

另一种解决方案是使用Win32API,获取控制台/ DOS应用程序窗口的Windows句柄(Whnd),并将其父窗口设置为窗体。如果我没有弄错,你需要使用毕举下面的Win32 API调用:

FindWindow

GetWindow

setparent

肯定可以的,C#嵌入其他程序主要用SetParent这个函绝绝做数,关键是要找到句柄,你可以用CreateProcess来创建一个新的子进程打开控制台,并衡然后找到句柄后嵌入你的主进程宏裂就可以了。

参考下:

http://www.cnblogs.com/icyJ/archive/2013/07/26/SetParent.html

使用BOOL CreateProcess(

LPCTSTR lpApplicationName,

LPTSTR lpCommandLine,

LPSECURITY_ATTRIBUTES lpProcessAttributes,

LPSECURITY_ATTRIBUTES lpThreadAttributes,

BOOL bInheritHandles,

DWORD dwCreationFlags,

LPVOID lpEnvironment,

LPCTSTR lpCurrentDirectory,

LPSTARTUPINFO lpStartupInfo,

LPPROCESS_INFORMATION lpProcessInformation

)

函数,详饥芹见:

ms-help:/冲搭/MS.VSCC.2003/散肢拿MS.MSDNQTR.2003FEB.2052/dllproc/base/createprocess.htm


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12337683.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存