Yumekui Skrevet 19. februar 2012 Skrevet 19. februar 2012 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)
Yumekui Skrevet 19. februar 2012 Forfatter Skrevet 19. februar 2012 (endret) 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 19. februar 2012 av Yumekui
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå