我的计算机上运行了一个.exe。如何从c#连接到它?
例如notepad.exe正在运行。我想从Windows窗体应用程序或控制台应用程序窗体写入记事本。我怎么能这样做?
答案 0 :(得分:2)
两个建议:
使用Process.Start()
启动进程http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start.aspx
或使用Windows Script Host中的SendKeys
http://msdn.microsoft.com/en-us/library/8c6yea83(VS.85).aspx
答案 1 :(得分:1)
这取决于你想要做什么。使用SendKeys
是最简单的解决方案,但它很粗糙,功能有限。使用SendMessage
可以做得更多更好,但这将更难编码。
答案 2 :(得分:0)
看看this tutorial。据我所知,它完全符合您的要求。我意识到它是用德语写的,所以只需查看源代码即可。
答案 3 :(得分:0)
从Windows中的另一个进程读取至少可以说是有问题的。我们前一段时间做了一些工作,它涉及使用汇编语言挂钩到低级Win32 API。从本质上讲,它真的不愉快,如果你能避免这样做,你头上会有更多的头发。
如果您要发送的应用程序理解您尝试发送给它的消息,则使用SendMessage将起作用。我怀疑你在以后的Windows版本(Vista + Win7)上开始遇到安全问题,并且必须以提升的权限运行你的应用程序。
你为什么要这样做?