Yumekui Skrevet 19. februar 2012 Del 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) Lenke til kommentar
Yumekui Skrevet 19. februar 2012 Forfatter Del 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 Lenke til kommentar
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å