def __call__(self, action): #0: disable, 1: enable, 2: toggle, 3: getStatus try: hwnd = FindWindow(FFDSHOW_REMOTE_CLASS, None) except: raise self.Exceptions.ProgramNotRunning if action == 0 or action == 1: SendMessage(hwnd, self.plugin.mesg, WPRM_SETPARAM_ID, self.value) SendMessage(hwnd, self.plugin.mesg, WPRM_PUTPARAM, action) return action oldValue = SendMessage(hwnd, self.plugin.mesg, WPRM_GETPARAM2, self.value) if action == 2: if oldValue: newValue = 0 else: newValue = 1 SendMessage(hwnd, self.plugin.mesg, WPRM_SETPARAM_ID, self.value) SendMessage(hwnd, self.plugin.mesg, WPRM_PUTPARAM, newValue) return newValue if action == 3: return oldValue
def __call__(self, action, value): #0: set to, 1: next, 2: previous 3: get value try: hwnd = FindWindow(FFDSHOW_REMOTE_CLASS, None) except: raise self.Exceptions.ProgramNotRunning if action == 3: return SendMessage(hwnd, self.plugin.mesg, WPRM_GETPARAM2, self.value) if action == 1 or action == 2: value = SendMessage(hwnd, self.plugin.mesg, WPRM_GETPARAM2, self.value) if self.options.has_key(value): entry = self.options[value] if action == 1: value = entry[3] else: value = entry[4] else: if action == 1: value += 1 else: value -= 1 SendMessage(hwnd, self.plugin.mesg, WPRM_SETPARAM_ID, self.value) SendMessage(hwnd, self.plugin.mesg, WPRM_PUTPARAM, value) return value
def __call__(self, value=0): try: hwnd = FindWindow(FFDSHOW_REMOTE_CLASS, None) except: raise self.Exceptions.ProgramNotRunning SendMessage(hwnd, self.plugin.mesg, WPRM_SETPARAM_ID, self.value) SendMessage(hwnd, self.plugin.mesg, WPRM_PUTPARAM, value)
def SendFfdshowMessage(self, wParam, lParam=0): try: hwnd = FindWindow(FFDSHOW_REMOTE_CLASS, None) except: raise self.Exceptions.ProgramNotRunning return SendMessage(hwnd, self.mesg, wParam, lParam)
def __call__(self): try: hwnd = FindWindow(FFDSHOW_REMOTE_CLASS, None) except: raise self.Exceptions.ProgramNotRunning return SendMessage(hwnd, self.plugin.mesg, WPRM_GETPARAM2, self.value)
def __call__(self): hwnd = PhonerWin() if hwnd: if self.plugin.CheckWorkerThread( ): #maybe try "IsConnected" (DVBviewer plugin like) self.plugin.workerThread.Stop() sleep(1) SendMessage(hwnd, WM_SYSCOMMAND, SC_CLOSE, 0)
def OnChangeClipboardChain(self, dummyHwnd, mesg, wParam, lParam): # if the next clipboard viewer window is closing, repair the chain. if wParam == self.hwndNextViewer: self.hwndNextViewer = lParam if self.hwndNextViewer == self.hwnd: self.hwndNextViewer = None elif self.hwndNextViewer: SendMessage(self.hwndNextViewer, mesg, wParam, lParam) return 0
def __call__(self): try: hwnd = FindWindow(FFDSHOW_REMOTE_CLASS, None) except: raise self.Exceptions.ProgramNotRunning cds = COPYDATASTRUCT() cds.dwData = COPY_GET_PRESETLIST SendMessage(hwnd, WM_COPYDATA, eg.messageReceiver.hwnd, addressof(cds)) return cds
def __call__(self, action, value): #0: set to, 1: change by, 2: get value try: hwnd = FindWindow(FFDSHOW_REMOTE_CLASS, None) except: raise self.Exceptions.ProgramNotRunning if action == 2: return SendMessage(hwnd, self.plugin.mesg, WPRM_GETPARAM2, self.value) if action == 1: value += SendMessage(hwnd, self.plugin.mesg, WPRM_GETPARAM2, self.value) value = max(self.options[0], value) value = min(self.options[1], value) SendMessage(hwnd, self.plugin.mesg, WPRM_SETPARAM_ID, self.value) SendMessage(hwnd, self.plugin.mesg, WPRM_PUTPARAM, value) return value
def __call__(self, preset): try: hwnd = FindWindow(FFDSHOW_REMOTE_CLASS, None) except: raise self.Exceptions.ProgramNotRunning cds = COPYDATASTRUCT() cds.dwData = COPY_SETACTIVEPRESET cds.lpData = cast(c_wchar_p(preset), PVOID) cds.cbData = (len(preset) + 1)*2 return SendMessage(hwnd, WM_COPYDATA, eg.messageReceiver.hwnd, addressof(cds))
def GetStatusBarText(hwnd, buf_len=128): """If success, return statusbar texts like list of strings. Otherwise return either '>>> No process ! <<<' or '>>> No parts ! <<<'. Mandatory argument: handle of statusbar. Option argument: length of text buffer.""" PAGE_READWRITE = 4 PROCESS_VM_OPERATION = 8 PROCESS_VM_READ = 16 PROCESS_QUERY_INFORMATION = 1024 SB_GETPARTS = 1030 SB_GETTEXTW = 1037 MEM_COMMIT = 4096 MEM_RELEASE = 32768 pid = GetWindowThreadProcessId(hwnd)[1] process = _kernel32.OpenProcess( PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_QUERY_INFORMATION, False, pid) res_val = [ '>>> No process ! <<<', ] if process <> 0: parts = SendMessage(hwnd, SB_GETPARTS, 0, 0) partList = [] res_val = [ '>>> No parts ! <<<', ] if parts > 0: remBuf = _kernel32.VirtualAllocEx(process, None, buf_len, MEM_COMMIT, PAGE_READWRITE) locBuf = create_unicode_buffer(buf_len) for item in range(parts): SendMessage(hwnd, SB_GETTEXTW, item, remBuf) _kernel32.ReadProcessMemory(process, remBuf, locBuf, buf_len, None) #copy remBuf to locBuf partList.append(locBuf.value) res_val = partList _kernel32.VirtualFreeEx(process, remBuf, 0, MEM_RELEASE) return res_val
def __call__(self): hwnds = FindSplash() if len(hwnds) != 0: SendMessage(hwnds[0], WM_CLOSE, 0, 0) else: self.PrintError(self.plugin.text.text1)
def OnDrawClipboard(self, dummyHwnd, mesg, wParam, lParam): wx.CallAfter(eg.Notify, "ClipboardChange") # pass the message to the next window in the clipboard viewer chain if self.hwndNextViewer: SendMessage(self.hwndNextViewer, mesg, wParam, lParam)