Sdílet prostřednictvím


Přizpůsobení klávesnice a myši

Knihovny MFC lze aplikaci přizpůsobit, jak zpracovává klávesnice a myši.Uživatel může upravit vstup z klávesnice pomocí přiřazení klávesových zkratek příkazům.Uživatel může přizpůsobit myš vstup také výběrem příkazu, který má být spuštěn, když uživatel poklepe uvnitř určitého okna aplikace.Toto téma vysvětluje, jak upravit vstup pro vaši aplikaci.

V vlastní dialogové okno, uživatel může změnit vlastní ovládací prvky pro myši a klávesnice.Toto dialogové okno zobrazíte uživatele odkazuje na vlastní v zobrazení nabídky a potom klepne na tlačítko panely nástrojů a Docking.V dialogovém okně uživatel klepne buď klávesnice kartu nebo myši kartu.

Úprava klávesnice

Následující ilustrace ukazuje klávesnice karty vlastní dialogové okno.

Na kartě Vlastní nastavení klávesnice

V dialogovém okně Upravit na kartě klávesnice

Na kartě klávesnice k přiřazení jednoho nebo více klávesové zkratky k příkazu interakci uživatele.V levé části karty jsou uvedeny dostupné příkazy.Uživatel může vybrat libovolný dostupný příkaz z nabídky.Pouze příkazy nabídky lze přiřadit klávesovou zkratku.Poté, co uživatel zadá nový zástupce přiřadit aktivuje tlačítko.Po klepnutí na toto tlačítko, připojí aplikace tohoto zástupce vybraného příkazu.

V rozevíracím seznamu v pravém sloupci jsou uvedeny všechny aktuálně přiřazené klávesové zkratky.Uživatel může také vybrat jednotlivé klávesové zkratky a odstranit nebo obnovit všechna mapování aplikace.

Pokud chcete podporovat toto vlastní nastavení v aplikaci, je nutné vytvořit CKeyboardManager objektu.Chcete-li vytvořit CKeyboardManager objektů, volání funkce CWinAppEx::InitKeyboardManager.Tato metoda vytvoří a inicializuje správce klávesnice.Vytvoříte-li klávesnici správce ručně, stále musíte zavolat CWinAppEx::InitKeyboardManager k její inicializaci.

Pokud použijete Průvodce pro vytvoření aplikace, spustí Průvodce správce klávesnice.Poté, co aplikace inicializuje správce klávesnice, přidá rozhraní klávesnice tab na vlastní dialogové okno.

Vlastní nastavení myši

Následující ilustrace ukazuje myši karty vlastní dialogové okno.

Karta Vlastní nastavení myši

Karta Myš v dialogovém okně přizpůsobení

Uživatel pracuje s touto kartou přiřadit nabídku příkaz k myši poklepejte na akci.Uživatel vybere z levé části okna zobrazení a potom pomocí ovládacích prvků na pravé straně přidružit akce poklepejte na příkaz.Poté, co uživatel klepne na tlačítko Zavřít, aplikace spustí přidružený příkaz vždy, když uživatel poklepe kdekoli v zobrazení.

Vlastní nastavení myši není ve výchozím nastavení povoleno při vytváření aplikace pomocí průvodce.

Chcete-li povolit vlastní nastavení myši

  1. Inicializovat CMouseManager objekt voláním CWinAppEx::InitMouseManager.

  2. Získat ukazatel myši správce pomocí CWinAppEx::GetMouseManager.

  3. Přidání zobrazení pomocí myši správce CMouseManager::AddView metody.Proveďte pro každé zobrazení, které chcete přidat do správce myši.

Poté, co aplikace inicializuje správce myš, přidá rozhraní myši na kartě vlastní dialogové okno.Pokud nepřidáte všechna zobrazení, na kartě způsobí neošetřená výjimka.Po vytvoření seznamu zobrazení, myši karta je k dispozici pro uživatele.

Když přidáte nové zobrazení správce myši, můžete jí jedinečný identifikátor.Pokud chcete podporovat vlastní nastavení myši pro okno, je nutné zpracovat WM_LBUTTONDBLCLICK zprávy a volání CWinAppEx::OnViewDoubleClick funkce.Při volání této funkce je jeden z parametrů ID tohoto okna.Je odpovědností programátora ke sledování čísel ID a s nimi spojené objekty.

Otázky zabezpečení

Jak je popsáno v Uživatelem definované nástroje, uživatel můžete přidružit nástroj uživatelské ID události poklepání.Když uživatel poklepe zobrazení, aplikace vyhledá uživatele nástroj, který odpovídá identifikátoru přidružen.Pokud aplikace najde odpovídající nástroje, provede nástroj.Pokud aplikace nemůže najít odpovídající nástroje, odešle zprávu WM_COMMAND s ID zobrazení, které bylo poklepání.

Vlastní nastavení jsou uložena v registru.Úpravou registru můžete nahradit útočník platný identifikační nástroj libovolný příkaz.Když uživatel poklepe zobrazení, zobrazení zpracovává příkaz útočník vysazeny.To může způsobit neočekávané a potenciálně nebezpečné chování.

Navíc tento druh útoku může obejít zabezpečení uživatelského rozhraní.Předpokládejme například, že aplikace byl zakázán tisk.To znamená v uživatelském rozhraní, Tisk nabídky a tlačítka nejsou k dispozici.Obvykle brání aplikaci v tisku.Ale pokud mohl upravovat registr, uživatel může nyní mohl odeslat příkaz pro tisk přímo poklepáním na zobrazit, vynechání prvky uživatelského rozhraní, které nejsou k dispozici.

Pro ochranu proti tomuto druhu útoku, přidejte kód na vaši obslužnou rutinu příkaz aplikace ověřit platnost příkazu před jeho spuštěním.Nezávisí na uživatelském rozhraní příkaz zabránit v odesílání do aplikace.

Viz také

Referenční dokumentace

Třída CKeyboardManager

Třída CMouseManager

Koncepty

Přizpůsobení pro prostředí MFC

Vliv přizpůsobení na zabezpečení