Почему рассказчик не сообщает о себе как о программе чтения с экрана Windows? - PullRequest
2 голосов
/ 29 сентября 2010

Я пытаюсь определить, подключена ли программа чтения с экрана к моему приложению, чтобы я могла улучшить работу для слепых и слабовидящих пользователей. Я использую этот Win32 API (http://msdn.microsoft.com/en-us/library/ms724947%28VS.85%29.aspx), и указываю SPI_GETSCREENREADER в качестве uiAction. Вызов выглядит примерно так:

int iAction = 70; // SPI_GETSCREENREADER constant;
int iParam = 0;
int iUpdate = 0;
bool result = false;
bool bReturn = SystemParametersInfo(iAction, iParam, &result, iUpdate);

Если работает JAWS или, если уж на то пошло, утилита увеличения, этот API сообщает, что подключена программа чтения с экрана. Однако, если у меня работает только встроенная программа чтения с экрана (MS Narrator), этот API сообщает, что программа чтения с экрана не подключена.

Это действительно происходит? Неужели люди в Microsoft действительно решили не сообщать о встроенной программе чтения с экрана как о программе чтения с экрана?

Ответы [ 2 ]

1 голос
/ 30 сентября 2010

Если кто-нибудь попадет в эту ужасную ловушку.Рассказчик устанавливает мьютекс, когда он начинает работать (это полностью не задокументировано, но, похоже, он работает, если вам нужно обнаружить мс рассказчик)

1 голос
/ 29 сентября 2010

Я не могу проверить код, но, к сожалению, вы, вероятно, правы. Рассказчик - это очень простая программа чтения с экрана, которая практически не предоставляет полезных функций, кроме того, что позволяет увидеть, произошел ли сбой программы чтения с основного экрана. Ходят слухи, что Microsoft хотела сделать его полнофункциональным средством чтения с экрана, когда оно было выпущено, но отказалось от возможных антимонопольных проблем со стороны компаний, которые уже производили средства чтения с экрана. Обратите внимание, что это то, что я слышал в некоторых списках адресов для слепых, в которых я был, но не могу проверить, есть ли в этом какая-то правда. Если это правда, это объяснило бы, почему Рассказчик хромал вместе с реальными улучшениями, насколько я себя помню. Я не буду беспокоиться о Рассказчике, если пользователь использует ваше приложение, он будет использовать приличную программу чтения с экрана, такую ​​как Jaws. Я использую программное обеспечение для чтения с экрана всю свою жизнь и никогда не знал, чтобы кто-нибудь использовал Narrator в качестве основного средства чтения с экрана. Если вы хотите протестировать с помощью бесплатной программы чтения с экрана, я бы порекомендовал NVDA . По моему опыту, она не так хороша, как челюсти, но довольно удобна для чтения с экрана без высокой цены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...