У меня есть приложение C#, которое использует Sendkeys.send для отправки текста другим приложениям. При выполнении на окнах 7 через некоторое время Sendkeys перестают отвечать и не отправляют текст. Это никогда не происходит в Windows XP. Я подозревал антивирус, но это происходит и при запуске без антивируса. Любые идеи, что может вызвать это? Благодарим вас за помощь.SendKeys.send заблокирован
ответ
Какую версию .NET Framework вы компилируете? Если вы все еще используете версию до 2.0, скорее всего, вы столкнетесь с проблемами совместимости в Windows 7 в результате улучшения модели безопасности UAC.
Метод SendKeys.Send
был обновлен в версии 3.0 Framework для правильной работы с Windows Vista и новее. Смотрите documentation:
Класс SendKeys был обновлен для .NET Framework 3.0 для того, чтобы использовать его в приложениях, работающих на Windows Vista. Повышенная безопасность Windows Vista (известная как Контроль учетных записей пользователей или UAC) предотвращает работу предыдущей реализации как ожидалось.
Необходимо обновить; версия 3.5 уже включена в Windows 7.
В противном случае P/Invocation SendMessage
function, предоставленный Windows API, является опцией, если вам нужно отправить данные в другие приложения. Проверьте pinvoke.net на объявление, которое вам нужно будет назвать на C#.
Существует а (для меня, по крайней мере) довольно странного замечания о MSDN documentation for the SendKeys.Send
методе:
Внимание
Если приложение предназначено для международного использования с различными клавиатурами, в использование Отправить может дать непредсказуемые результаты, и следует избегать .
Я не понимаю причину утверждения, но, возможно, это (одна) причина для поведения, которое вы испытываете?
В самом низу той же страницы MSDN, они также заявляют:
... В SendKeys класс чувствителен к вопросов, касающихся сроков, которые некоторые разработчики были вынуждены работать вокруг. Обновленный реализация по-прежнему восприимчивы к вопросов, касающихся сроков, но немного быстрее и может потребовать изменений в обходные ...
Кажется мне, что SendKey
функция, чтобы избежать при любых обстоятельствах.
- 1. SendKeys.Send NullReferenceException
- 2. SendKeys.send с интернет-проводник
- 3. SendKeys.Send функция не работает
- 4. SendKeys.Send ("%"); не отправляет символ «%»
- 5. Сон в SendKeys.Send метод
- 6. SendKeys.Send ("{HOME}"), vb.net
- 7. "{" and "}" SendKeys.Send-Methode Converter
- 8. Альтернативные библиотеки SendKeys.Send?
- 9. sendkeys.send ("{RIGHT}") в DataGridViewCell
- 10. SendKeys.Send Ярлыки клавиш
- 11. Отправка ключа приложения через SendKeys.Send
- 12. Expression Blend заблокирован/заблокирован/неисправен?
- 13. Преобразование строки в SendKeys.Send() форматированная строка
- 14. Sendkeys.Send() для правой клавиши? любые альтернативы?
- 15. Sendkeys.send отправить alt + space + n комбинация
- 16. Как контролировать SendKeys.Send {"tab"} свойство в Datagridview?
- 17. Имитация правой Shift + Ctrl с SendKeys.Send()
- 18. iPhone заблокирован Портрет, iPad заблокирован Ландшафт
- 19. Html.RouteLink заблокирован?
- 20. Сайт заблокирован?
- 21. Заблокирован Jenkins
- 22. Sendkeys.Send и InputSimulator не запускаются в Win 7
- 23. Отправка нажатия клавиш в приложение SendKeys.Send() vs SendMessage()
- 24. Sendkeys.Send исключения: Ключевое слово «SPACE» не является действительным
- 25. vb.net SendKeys.Send (TextBox1.Text) отправить медленное моделирование запись
- 26. SendKeys.Send ("^ V"); не вставляет изображение, но он вставляет текст
- 27. sendkeys.send ("{Tab}") does'nt работает на кнопке команды в vb.net 2015
- 28. отправить ctr + A (выбрать все) с помощью SendKeys.Send()
- 29. Save Key Strokes перейти к параметру «ключи» в SendKeys.Send()
- 30. Заблокирован ли поток, который заблокирован? Почему и как?