Gå til innhold

[python/generelt] - win32api.keybd_event


Anbefalte innlegg

Jeg forsøker å benytte win32api til å taste inn alt-koder, men har problemer med å få det til å fungere.

win32api.keybd_event(win32con.VK_MENU, 0, 0, 0) presser alt, noe som fungerer.

 

win32api.keybd_event(96, 0, 0, 0) presser numpad-0, noe som fungerer.

 

Men dersom jeg får den til å først presse alt, går det ikke å få den til å presse numad-taster uten at en sånn "ding"-lyd kommer.

 

 

import time
import win32api, win32con

time.sleep(1)
for i in range(1):
   win32api.keybd_event(win32con.VK_MENU, 0, 0, 0) #alt
   time.sleep(0.01)
   for x in [96, 97, 102, 97]: #num 0, num 1, num 6, num 1
       win32api.keybd_event(x, 0, 0, 0)
       time.sleep(0.01)
       win32api.keybd_event(x, 0, 2, 0)
       time.sleep(0.01)
   win32api.keybd_event(win32con.VK_MENU, 0, 2, 0)

 

Dette skriver inn 0161 dersom jeg fjerner VK_MENU-delene, men gir altså en "ding ding ding..." lyd med VK_MENU.

 

(alt+0161 er ¡, sånn BTW)

Lenke til kommentar
Videoannonse
Annonse

Hva er galt med deg, Windows?:

 

 

Jeg kjører scriptet fra hostmaskin - Fungerer på virtuell kun med keybd_event(0, denne, 0, 0) fungerer på host kun med (denne, 0, 0, 0)

 

import time
import win32api, win32con
time.sleep(1)

#alt 0161
for i in range(80):
   win32api.keybd_event(164, 56, 0, 0)
   for x,id in zip([82, 79, 77, 79], [96, 97, 102, 97]):
       win32api.keybd_event(id, x, 0, 0)
       time.sleep(0.01)
       win32api.keybd_event(id, x, 2, 0)
   win32api.keybd_event(164, 56, 2, 0)

 

Men det fungerer altså om jeg bruker begge to (på både host og virtuell om script kjøres fra host). x_v

 

 

Problemet er forøvrig løst: Jeg må bruke Virtual Key ID for hostmaskin og Scancodes for eventuelle virtuelle maskiner.

Endret av Yumekui
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...