я начал на мини-проект в C#, который был просто невидимая (или, по крайней мере, невероятно малы) WinForm, который открыл приложение моего выбора, когда я использовал некоторые комбинации горячих клавиш (например, Alt + num3 открыл The Sims 4) , Я бросил проект, когда понял, что он будет работать только тогда, когда «невидимая форма» была открыта и выбрана на панели задач, где я этого не хотел. Я недавно сделал мышь спазма шалость для моего брата на апрель День Дураков и использовали следующие три строки, чтобы скрыть форму:Какая часть моего кода блокирует комбинации горячих клавиш?
this.Hide(); //hides the form
this.Text = null; //hides the application from the task manager
this.ShowInTaskbar = false; //hides the application from the taskbar
я пошел обратно в горячую клавишу пусковой и поместить эти три (за исключением диспетчера задач один) в событие Form1_Load в главном коде. Когда я начал отлаживать, я заметил, что они действительно скрывали форму, но комбинации «горячих клавиш» не отвечали. Я спрашиваю: 1) какая из двух строк [1 и 3] вызывает этот конфликт и 2) если смогу, как я могу это решить?
Спасибо за ваше время.
Примечание: Да, я знаю, что вы можете создавать фоновые приложения с использованием шаблона службы Windows, но я слышал, что он несовместим с тем, что я использую, Visual C# 2010 Express. Я бы использовал его иначе.
Когда вы скрываете форму, вы удалите это фокус ввода. Чтобы перехватить все события клавиатуры, вам нужно получить немного более низкий уровень, например, используя: '' SetWindowsHookEx() '', как описано, например. здесь: https://msdn.microsoft.com/en-us/library/windows/desktop/ms644985(v=vs.85).aspx – BitTickler