Próbuję umieścić ikonę w zasobniku systemowym, a następnie nadać mu globalny skrót klawiaturowy do wykonywania funkcji.RegisterHotKey nie działa z niewidocznymi formularzami (C#)
Używam RegisterHotKey do ustawienia globalnego skrótu klawiaturowego i działa, jeśli widoczna jest główna forma powiązana z ikoną. Ale jeśli formularz jest niewidoczny, wówczas metoda WndProc nigdy nie jest wywoływana.
Wszelkie pomysły?
Edit: Co mam na myśli przez „ukryte” jest to, że dodaje się do głównego formularza:
protected override void OnLoad(EventArgs e)
{
hotKey = new GlobalHotkey(GlobalHotkey.WIN, Keys.T, this);
bool registered = hotKey.Register();
Visible = false;
ShowInTaskbar = false;
base.OnLoad(e);
}
„zarejestrowany” jest widoczny jako „true”, a prace kluczowych skrótów w porządku, gdybym pomiń "Widoczne = fałszywe"; i "ShowInTaskbar = false;".
Czy możesz pokazać próbkę kodu z wypróbowanej wersji? – ImGreg
tak, pokaż swój kod, ponieważ nie powinno być żadnej różnicy, jeśli parametr RegisterHotKey HWND jest niewidoczny, wiadomości nadal są przetwarzane. –
Nie będzie można zarejestrować skrótu przed utworzeniem okna. Czy to masz na myśli "widoczny"? –