Silverlight 4 - отправить текст в блокнот - PullRequest
2 голосов
/ 13 февраля 2011

Я пробую этот урок

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.Спасибо

1 Ответ

2 голосов
/ 14 февраля 2011

Проблема в том, что Run - это неблокирующая операция, которая вернется, как только ускорит процесс. Пользовательский интерфейс для блокнота, вероятно, не появился и поместил фокус в область ввода к тому времени, когда ваш код вызывает SendKeys.

Попробуйте ввести Thread.Sleep на пару секунд, чтобы доказать, правда ли это.

...