Передайте соответствующее нажатие клавиши «Предыдущая страница» текущему приложению - PullRequest
0 голосов
/ 15 декабря 2011

Я занимаюсь разработкой некоторых инструментов Accessability и хочу, чтобы можно было отправлять приложению с фокусом команду «Перейти на предыдущую страницу».

IE, если в проводнике Windows есть фокус, передавая Alt+Leftarrow в функцию SendKeys.Send() или, если в презентации Powerpoint, она отправит только команду Leftarrow.

Есть ли такая функция или мне нужно иметь список общих приложений и просто работатьот этого?

Ответы [ 2 ]

1 голос
/ 16 декабря 2011

Наиболее близкими к «Стандартным» командам прямой и обратной передачи, вероятно, будет WM_APPCOMMAND с lParam APPCOMMAND_BROWSER_BACKWARD или APPCOMMAND_BROWSER_FORWARD.

Это не гарантируется для всех приложений, конечно, но это должно работать для некоторых.

1 голос
/ 15 декабря 2011

Проблема почти такая же, как для функций отмены / возврата в редакторе, например.Вам нужны два стека типа System.Collections.Generic.Stack<string>.Один стек отмены с содержит ранее посещенные страницы и один стек повторов.Это работает так:

Пользователь заходит на страницу 1.

Затем на страницу 2. Теперь поместите текущую страницу (страницу 1) в стек отмены.

Пользователь заходит на страницустраница 3. Теперь вставьте текущую страницу (страницу 2) в стек отмены.

Пользователь хочет перейти на предыдущую страницу.Извлеките страницу (это будет страница 2) из ​​стека отмены и поместите реальную страницу (страницу 3) в стопку повторов.Затем отобразите страницу 2.

Если пользователь хочет идти вперед, а не назад, сделайте наоборот: выскочите из повтора и нажмите, чтобы отменить.

Если пользователь переходит к новомуНа этой странице вы также должны очистить стек повторного выполнения, поскольку с этого момента невозможно двигаться вперед.

Вы также можете вызвать стек отмены "стеком назад", а стек повторения - "стеком вперед".

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