Udostępnij za pośrednictwem


Klawiatura i mysz, dostosowywanie

MFC pozwala aplikacji, aby dostosować sposób obsługi klawiatury i myszy.Użytkownik może dostosować przy użyciu klawiatury, przypisując skróty klawiaturowe do poleceń.Użytkownika można także dostosować sygnału wejściowego myszy polecenie, który powinien być wykonywany, gdy użytkownik kliknie dwukrotnie wewnątrz okien określonych aplikacji.W tym temacie wyjaśniono, jak dostosować dane wejściowe dla aplikacji.

W dostosowywania okno dialogowe, użytkownik może zmienić niestandardowych formantów dla myszy i klawiatury.Aby wyświetlić to okno dialogowe, użytkownik wskaże Dostosuj na widoku menu, a następnie klika Paski narzędzi i dokowanie.W oknie dialogowym użytkownik kliknie albo klawiatury kartę lub myszy kartę.

Dostosowywanie klawiatury

Na poniższej ilustracji pokazano klawiatury na karcie dostosowywania okno dialogowe.

Karta dostosowywania klawiatury

Karta klawiatury w oknie dialogowym dostosowywania

Użytkownik współdziała z kartę klawiatury, aby przypisać jeden lub więcej skrótów klawiaturowych do polecenia.Dostępne polecenia są wymienione po lewej stronie karty.Użytkownik może wybrać dowolne polecenie dostępne z menu.Tylko polecenia menu można skojarzyć z skrót klawiaturowy.Gdy użytkownik wprowadzi nowy skrót, przypisać zostaje włączony przycisk.Gdy użytkownik kliknie ten przycisk, aplikacja kojarzy wybranego polecenia z tego skrótu.

W polu listy w prawej kolumnie są wymienione wszystkie aktualnie przypisane skróty.Użytkownik może również indywidualne skróty i je usunąć lub zresetować wszystkie mapowania aplikacji.

Do obsługi tego dostosowania w aplikacji, należy utworzyć CKeyboardManager obiektu.Aby utworzyć CKeyboardManager obiektów, należy wywołać funkcję CWinAppEx::InitKeyboardManager.Ta metoda tworzy i inicjuje Menedżera klawiatury.Jeśli tworzysz klawiatury Menedżera ręcznie, nadal należy wywołać CWinAppEx::InitKeyboardManager go zainicjować.

Użycie kreatora do tworzenia aplikacji, Kreator będzie zainicjować Menedżera klawiatury.Po aplikacja inicjuje Menedżera klawiatury, dodaje ramach klawiatury tab, aby dostosowywania okno dialogowe.

Dostosowywanie myszy

Na poniższej ilustracji pokazano myszy na karcie dostosowywania okno dialogowe.

Karta dostosowywania myszy

Karcie mysz w oknie dialogowym dostosowywania

Użytkownik współdziała z tej karty, aby przypisać menu polecenia myszą, kliknij dwukrotnie akcję.Użytkownik wybiera widok z lewej strony okna, a następnie używa formantów po prawej stronie skojarzyć polecenie z akcji kliknij dwukrotnie.Gdy użytkownik kliknie Zamknij, aplikacja wykonuje skojarzone polecenie zawsze, gdy użytkownik kliknie dwukrotnie w dowolnym miejscu w widoku.

Dostosowywanie myszy jest wyłączona domyślnie podczas tworzenia aplikacji za pomocą kreatora.

Aby umożliwić dostosowywanie myszy

  1. Zainicjuj CMouseManager obiektu, wywołując CWinAppEx::InitMouseManager.

  2. Uzyskać wskaźnik do Menedżera myszy za pomocą CWinAppEx::GetMouseManager.

  3. Dodawanie widoków do Menedżera myszy za pomocą CMouseManager::AddView metody.W tym dla każdego widoku, który chcesz dodać do Menedżera myszy.

Po aplikacja inicjuje Menedżera myszy, dodaje ramach myszy tab, aby Dostosuj okno dialogowe.Jeśli nie dodasz dowolne widoki, dostęp do na karcie spowoduje nieobsługiwany wyjątek.Po utworzeniu listy widoków, myszy karta jest dostępna dla użytkownika.

Po dodaniu nowego widoku do Menedżera myszy możesz nadać mu unikatowy identyfikator.Do obsługi myszy dostosowania dla okna, musi przetworzyć WM_LBUTTONDBLCLICK wiadomość i wywołanie CWinAppEx::OnViewDoubleClick funkcji.Po wywołaniu tej funkcji, jeden z parametrów jest identyfikator dla tego okna.Jest odpowiedzialny programisty, aby śledzić numery identyfikacyjne i obiektów skojarzonych z nimi.

Zagadnienia dotyczące zabezpieczeń

Jak opisano w Narzędzia zdefiniowane przez użytkownika, użytkownika można skojarzyć identyfikator użytkownika narzędzie ze zdarzeniem dwukrotnego kliknięcia.Gdy użytkownik kliknie dwukrotnie widok, aplikacja wygląda narzędzia użytkownika, który pasuje do identyfikatora skojarzone.Jeśli aplikacja znajdzie dopasowania narzędzie, wykonuje narzędzie.Jeśli aplikacja nie może odnaleźć pasującego narzędzie, wysyła komunikat WM_COMMAND z Identyfikatorem do widoku, który został dwukrotnie kliknięty.

Dostosowane ustawienia są przechowywane w rejestrze.Przez edycję rejestru, osoba atakująca może zastąpić identyfikator użytkownika ważne narzędzie dowolnego polecenia.Gdy użytkownik kliknie dwukrotnie widok, widok przetwarza polecenia, które osoba atakująca uprawy.Może to spowodować nieoczekiwane i potencjalnie niebezpieczne zachowanie.

Ponadto ten rodzaj ataku można ominąć zabezpieczenia interfejsu użytkownika.Na przykład załóżmy, że aplikacja ma wyłączony drukowania.Oznacza to, że w interfejsie użytkownika wydruku menu i przycisku są niedostępne.Zapobiega to zwykle aplikacji z drukowaniem.Ale jeśli osoba atakująca edytować rejestr, użytkownik może teraz może wysłać polecenie drukowania bezpośrednio przez dwukrotne kliknięcie widoku, pomijanie elementy interfejsu użytkownika, które są niedostępne.

Aby zabezpieczyć się przed tego rodzaju atak, Dodaj kod polecenia aplikacji obsługi Sprawdź, czy polecenie jest prawidłowe przed jego wykonaniem.Nie zależą od interfejsu użytkownika, aby zapobiec polecenia są wysyłane do aplikacji.

Zobacz też

Informacje

Klasa CKeyboardManager

Klasa CMouseManager

Koncepcje

Dostosowywanie dla MFC

Implikacje dostosowywania zabezpieczeń