def SendRawCodes2(self, keyData, hwnd, mode): """ Uses PostMessage and SetKeyboardState to emulate the the virtual keycode. Can send to a specified window handle. """ keyboardStateBuffer = self.keyboardStateBuffer for block in keyData: if mode == 1 or mode == 2: for virtualKey in block: keyCode = virtualKey & 0xFF highBits = virtualKey & 0xFF00 lparam = ((MapVirtualKey(keyCode, 0) | highBits) << 16) | 1 keyboardStateBuffer[keyCode] |= 128 if keyCode == VK_LSHIFT: keyboardStateBuffer[VK_SHIFT] |= 128 #elif keyCode == VK_MENU: # self.isSysKey = True elif keyCode == VK_CONTROL: keyboardStateBuffer[VK_LCONTROL] |= 128 if self.isSysKey: mesg = WM_SYSKEYDOWN lparam |= 0x20000000 else: mesg = WM_KEYDOWN SetKeyboardState(byref(keyboardStateBuffer)) PostMessage(hwnd, mesg, keyCode, lparam) self.WaitForInputProcessed() if mode == 0 or mode == 2: for virtualKey in reversed(block): keyCode = virtualKey & 0xFF highBits = virtualKey & 0xFF00 lparam = ( ((MapVirtualKey(keyCode, 0) | highBits) << 16) | 0xC0000001 ) keyboardStateBuffer[keyCode] &= ~128 if keyCode == VK_LSHIFT: keyboardStateBuffer[VK_SHIFT] &= ~128 #elif keyCode == VK_MENU: # self.isSysKey = False elif keyCode == VK_CONTROL: keyboardStateBuffer[VK_LCONTROL] &= ~128 if self.isSysKey: mesg = WM_SYSKEYUP lparam |= 0x20000000 else: mesg = WM_KEYUP SetKeyboardState(byref(keyboardStateBuffer)) PostMessage(hwnd, mesg, keyCode, lparam) self.WaitForInputProcessed()
def __call__(self, play=False, fav=1): flag = self.plugin.Execute('screamer.exe', self.plugin.ScreamerPath) if self.plugin.path2: self.plugin.Execute('Start_SR_Events.exe', self.plugin.path2) if flag: if self.plugin.path2: self.plugin.Execute('Start_SR_Events.exe', self.plugin.path2) if play: for n in range(50): sleep(.2) hwnds = Handle() if len(hwnds) > 0: flag = False break if not flag: sleep(2) ScreamerPath = self.plugin.ScreamerPath xmltoparse = ScreamerPath + '\\favorites.xml' self.dh2 = my_xml_handler2() sax.parse(xmltoparse.encode(eg.systemEncoding), self.dh2) if fav <= len(self.plugin.favList): self.plugin.fav_num = fav - 1 PostMessage(hwnds[0], WM_COMMAND, 9216 + fav, 0) return str(fav) + ": " + self.plugin.favList[ self.plugin.fav_num] else: return self.text.over % (str(fav),\ str(len(self.plugin.favList))) else: return self.plugin.text.text1 else: return self.text.alt_ret
def __call__(self): hwnd = HandleMV2() if hwnd: PostMessage(hwnd, WM_COMMAND, self.value, 2025) else: self.PrintError(self.plugin.text.text1) return self.plugin.text.text1
def PlayFavFromMenu(self): if self.menuDlg is not None: sel=self.menuDlg.GetSizer().GetChildren()[0].GetWindow().\ GetSelection() self.fav_num = sel self.menuDlg.Close() # hwnds = Handle() if len(hwnds) > 0: if sel <= len(self.favList) - 1: PostMessage(hwnds[0], WM_COMMAND, 9217 + sel, 0) else: self.PrintError(self.text.text1)
def __call__(self): hwnds = Handle() if len(hwnds) > 0: ScreamerPath = self.plugin.ScreamerPath xmltoparse = ScreamerPath + '\\favorites.xml' self.dh2 = my_xml_handler2() sax.parse(xmltoparse.encode(eg.systemEncoding), self.dh2) if eval(self.value[2]): self.plugin.fav_num += self.value[0] else: self.plugin.fav_num = eval(self.value[1]) PostMessage(hwnds[0], WM_COMMAND, 9217 + self.plugin.fav_num, 0) num = self.plugin.fav_num return (str(num + 1) + ": " + self.plugin.favList[num]) else: self.PrintError(self.plugin.text.text1) return self.plugin.text.text1
def __call__(self,fav=1): hwnds = Handle() if len(hwnds) > 0: ScreamerPath = self.plugin.ScreamerPath xmltoparse = ScreamerPath+'\\favorites.xml' self.dh2 = my_xml_handler2() sax.parse(xmltoparse.encode(eg.systemEncoding), self.dh2) if fav <= len(self.plugin.favList): self.plugin.fav_num=fav-1 PostMessage(hwnds[0], WM_COMMAND, 9216+fav, 0) return str(fav)+": "+self.plugin.favList[self.plugin.fav_num] else: self.PrintError( self.text.over % (str(fav),str(len(self.plugin.favList)))) return self.text.over % (str(fav),str(len(self.plugin.favList))) else: self.PrintError(self.plugin.text.text1) return self.plugin.text.text1