我尝试本教程
http://elegantcode.com/2010/02/20/silverlight-4-com-interop-and-the-cool-stuff-you-can-do-with-it/
我需要打开记事本并将文本发送到。我使用这段代码:
using (dynamic shell = AutomationFactory.CreateObject("WScript.Shell"))
{
shell.Run(@"C:\windows\notepad.exe"); //you can open anything
shell.SendKeys(txtTextToSend.Text);
}
当我开始使用时,记事本已经出现,但其中没有文字。
我错了什么。我的系统是W7 64bit。 感谢
答案 0 :(得分:2)
问题是Run是一个非阻塞操作,一旦它启动进程就会返回。记事本的UI可能没有出现,并且在您的代码调用SendKeys
时将焦点放入其输入区域。
尝试引入Thread.Sleep
几秒钟来证明这是否属实。