Seite 1 von 1

Win32API, frage zu Virtual Keys (@)

Verfasst: Sonntag 18. August 2019, 07:21
von comeo
Hi, ich beschäftige mich zur Zeit mit der Win32API und bin auf folgendes Problem gestoßen:
Das hier sind alle verfügbaren virtual keys: https://docs.microsoft.com/en-us/window ... -key-codes
Jetzt will ich aber beispielsweise das @ Symbol mit

Code: Alles auswählen

win32api.PostMessage()
darstellen lassen.
Wie würde das für das @ Symbol aussehen? Hat jemand eine Idee?

Vielen Dank vorab!

Re: Win32API, frage zu Virtual Keys (@)

Verfasst: Sonntag 18. August 2019, 07:37
von __deets__
Indem du die notwendigen Tastendrücke der modifier und der entsprechenden Taste durchführst. Oder nach eine API schaust, die es dir gleich erlaubt solche Buchstaben zu verschicken (kA ob’s die gibt, aber kann ich mir vorstellen). Denn sonst musst du natürlich noch die eingestellte Tastaturbelegung beachten.

Re: Win32API, frage zu Virtual Keys (@)

Verfasst: Sonntag 18. August 2019, 08:03
von comeo
Habe ich schon versucht, leider ohne Erfolg.

Re: Win32API, frage zu Virtual Keys (@)

Verfasst: Sonntag 18. August 2019, 08:26
von sparrow
Was hast du versucht?
Zeig deinen Code, sag was du erwartet hast, was wirklich passiert ist und die Fehlermeldung.

Re: Win32API, frage zu Virtual Keys (@)

Verfasst: Sonntag 18. August 2019, 08:50
von Sirius3
Bei normalen Zeichen benutzt man normalerweise WM_CHAR.

Re: Win32API, frage zu Virtual Keys (@)

Verfasst: Sonntag 18. August 2019, 09:03
von snafu
Was spricht gegen gegen SendKeys()?

Code: Alles auswählen

import win32com.client

def send_keys(key_string, window_title):
    shell = win32com.client.Dispatch('WScript.Shell')
    if not shell.AppActivate(window_title):
        raise ValueError(f'Failed to activate window: {window_title}')
    shell.SendKeys(key_string)
Hier übrigens etwas Doku dazu: https://social.technet.microsoft.com/wi ... ethod.aspx
(ist für VBScript, lässt sich aber leicht auf Python übertragen)

Re: Win32API, frage zu Virtual Keys (@)

Verfasst: Sonntag 18. August 2019, 09:08
von sparrow
Und wenn es um das "Fernsteuern" anderer Windows-Fenster geht, habe ich gute Erfahrung mit pywinauto gemacht.

Re: Win32API, frage zu Virtual Keys (@)

Verfasst: Sonntag 18. August 2019, 09:08
von comeo
Sirius3 hat geschrieben: Sonntag 18. August 2019, 08:50 Bei normalen Zeichen benutzt man normalerweise WM_CHAR.
Vielen Dank. Mit VM_CHAR kann man Sonderzeichen wie "$", "@" usw. verwenden.