Отправляет email-рассылки с помощью сервиса Sendsay

[prg] c# определить или запущен screenreader

Всем привет,

мне необходимо определить запущен или вернее, использует ли пользователь
программу экранного доступа. как это можно сделать в c#?

Заранее спасибо

С уважением
Владимир

Ответить   vkon@f*****.de Tue, 2 Aug 2016 16:31:36 +0200 (#3422764)

 

Ответы:

Здравствуйте, vkon@f*****.de.

В идеальном мире для этого существует специальный системный параметр -
https://msdn.microsoft.com/en-us/library/windows/desktop/dd373629(v=vs.85).aspx
В реальности же не все программы экранного доступа себя так регистрируют и
не на всех версиях Windows, хотя современные конфигурации в этом отношении
более-менее стабилизировались. Соответственно если данный параметр полностью
вашим запросам не удовлетворяет, то надо применять совокупность костылей:
проверку файлов по стандартным путям, проверку запущенных процессов, наличие
com-интерфейсов и пр.
Успехов. Никита.

Ответить   Tue, 2 Aug 2016 18:08:00 +0300 (#3422778)

 

Добрый вечер Никита,
спасибо. Это я тоже находил через google, но как Вы правильно заметили в
реальном мире, увы, не все так, как хочется и нужно будет, наверное, искать
свое решение или при запуске программы просить пользователя ответить на
вопрос о screenreader. правда, я хотел обойтись без ini/xml или записи в
реестр, но увы...
Еще раз спасибо за помощь.

С уважением
Владимир

Ответить   vkon@f*****.de Tue, 2 Aug 2016 19:57:17 +0200 (#3422813)

 

Здравствуйте.

Если вам нужно определить, запущена ли определенная известная программа
конкретно в эту секунду, то ничего не нужно придумывать:
https://msdn.microsoft.com/ru-ru/library/system.diagnostics.process(v=vs.110).aspx

С уважением, Константин.

Ответить   Wed, 3 Aug 2016 00:39:11 +0500 (#3422831)

 

Здравствуйте Константин,

спасибо. Да, конечно, это тоже выход, но как Вы правильно заметили -
"определенная известная программа". Можно определить Jaws, Cobra,
Windoweyes, NVDA, но существуют еще и другие программы экранного доступа, о
которых я понятия не имею... Это конечно, скорее всего, экзотика, но все же.
Но как вариант, предложенный Вами класс может помочь.
С уважением
Владимир

Ответить   vkon@f*****.de Wed, 3 Aug 2016 09:17:02 +0200 (#3422915)