Горячая клавиша .LNK больше не работает, если я нажимаю ее, когда мой C # развернут, программа границы не запущена - PullRequest
1 голос
/ 08 января 2010

Для более общего поведения, вероятно, вызванного этой проблемой, пожалуйста, прочитайте:

https://stackoverflow.com/questions/2042925/shortcut-keys-defined-in-lnk-files-do-not-work-if-im-running-a-c-winforms-prog

Я пишу программу на C #, используя .NET 2.0 и WinForms и Visual C # 2008 Express. Я использую Windows 7, но проблема также под Windows XP.

Важно: для свойства FormBorderStyle главной формы задано значение None, а для WindowState - значение Maximized.

Я создал файл ярлыка (.LNK) для своей программы на рабочем столе и определил клавишу быстрого доступа в диалоговом окне «Свойства» (скажем, Ctrl + F11, но проблема та же, что и у других клавиш быстрого доступа, которые я пробовал). ). Когда я нажимаю Ctrl + F11 в Windows, моя программа запускается нормально.

Однако, если я нажимаю Ctrl + F11 во время работы моей программы, ничего не происходит (и событие нажатия клавиши не генерируется, даже если для свойства KeyPreview главной формы установлено значение true и назначается обработчик события KeyDown), но после Я закрываю программу, когда я снова пытаюсь нажать Ctrl + F11, ярлык больше не работает в Windows. Я должен изменить его или подождать, пока он снова не заработает (однако не совсем понятно, как он снова начнет работать).

Если я не нажму Ctrl + F11 во время работы моей программы, после того, как я закрою ее, в следующий раз, когда я использую комбинацию клавиш, она работает нормально.

Эта проблема не позволяет мне использовать функцию сочетания клавиш .LNK для определения сочетания клавиш для моей программы на C #, WinForms, .NET 2.0, у которой нет границы формы и она развернута.

Могу ли я что-нибудь сделать в моей программе C # WinForms для решения этой проблемы?

Спасибо

...