
方法是简单地不显仔数败示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
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)