Español
Fuente/ Codesnippets

Abfangen Buchstaben Normale Tastatureingaben Umlaute

 

Source wurde al 15.07.2007 de el MMJ-Quellcodesammlung (Dietmar Horn) en el Babyklappe en XProfan.Com abgelegt:
Tastatureingaben abfangen (Umlaute en normale Buchstaben umsetzen)
Im folgenden Ejemplo se el Umsetzen de Umlauten en normalen Buchstaben vorgenommen.
Lo se una Nachrichtenfilterfunktion para el Tastatur-Noticias mittels SetWindowsHookEx installiert.
Sie leitet el eingehenden Tastatur-Noticias en el CallBack-Rutina KbdHookProc en y wertet ellos de,
bevor ellos abgefangen (con Volver <> 0) oder weitergeleitet (con Volver = 0) se.
Lo voluntad el virtuellen Key-Codes para el Alemán Umlaute abgefangen y con Keybd_Event en una
entsprechendes Äquivalent umgesetzt.
Lo voluntad zwei MultiEdit-Controls en el Ventana geöffnet, en a zeigen, dass esta Rutina unabhängig
de el Controls funktioniert.
Am Ende es lo notwendig, el verkettete Rutina mittels UnHookWindwsEx al Ende otra vez a entfernen.
-Begin-----------------------------------------------------------------
 $H Windows.ph
-DeclareVariables----------------------------------------------------
Declarar hKbdHook&, Ende&
-HookProc------------------------------------------------------------

Proc KbdHookProc

    Parámetros nCode&, wParam&, lParam&
    Declarar RetCode&

    If wParam& = 222 Ä

        If lParam& < 0

            ~keybd_event(65, 0, 0, 0)
            ~keybd_event(65, 0, ~KEYEVENTF_KEYUP, 0)
            ~keybd_event(69, 0, 0, 0)
            ~keybd_event(69, 0, ~KEYEVENTF_KEYUP, 0)

        EndIf

        RetCode& = 1

    ElseIf wParam& = 192 Ö

        If lParam& < 0

            ~keybd_event(79, 0, 0, 0)
            ~keybd_event(79, 0, ~KEYEVENTF_KEYUP, 0)
            ~keybd_event(69, 0, 0, 0)
            ~keybd_event(69, 0, ~KEYEVENTF_KEYUP, 0)

        EndIf

        RetCode& = 1

    ElseIf wParam& = 186 Ü

        If lParam& < 0

            ~keybd_event(85, 0, 0, 0)
            ~keybd_event(85, 0, ~KEYEVENTF_KEYUP, 0)
            ~keybd_event(69, 0, 0, 0)
            ~keybd_event(69, 0, ~KEYEVENTF_KEYUP, 0)

        EndIf

        RetCode& = 1

    ElseIf wParam& = 219 ß

        If lParam& < 0

            ~keybd_event(83, 0, 0, 0)
            ~keybd_event(83, 0, ~KEYEVENTF_KEYUP, 0)
            ~keybd_event(83, 0, 0, 0)
            ~keybd_event(83, 0, ~KEYEVENTF_KEYUP, 0)

        EndIf

        RetCode& = 1

    Más

        ~CallNextHookEx(hKbdHook&, nCode&, wParam&, lParam&)
        RetCode& = 0

    EndIf

    Volver RetCode&

ENDPROC

---------------------------------------------------------------------
Ventana de Estilo 27
Cls
hKbdHook& = ~SetWindowsHookEx(~WH_KEYBOARD,
@ProcAddr(KbdHookProc, 3), 0,
~GetWindowThreadProcessID(%hWnd, 0))
@Crear(MultiEdit, %hWnd, , 10, 10, 600, 210)
@Crear(MultiEdit, %hWnd, , 10, 235, 600, 210)
Claro Ende&

Sinestar encargado Ende&

    WaitInput

    If %Key = 2

        Ende& = 1

    EndIf

EndWhile

~UnHookWindowsHookEx(hKbdHook&)
-End-------------------------------------------------------------------
End
Referencia: Lo es con XProfan no posible, systemweit Tastatur-Noticias abzufangen.
Windows esperado una entsprechende Rutina en uno DLL-Expediente.
 
15.07.2007  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

4.161 Views

Untitledvor 0 min.
Thomas Freier10.06.2022
H.Brill12.02.2022
RudiB.26.02.2020
rquindt23.03.2019
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie