Python win32gui.IsWindowVisible() Examples
The following are 12
code examples of win32gui.IsWindowVisible().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
win32gui
, or try the search function
.
Example #1
Source File: windows.py From ATX with Apache License 2.0 | 6 votes |
def __init__(self, window_name=None, exe_file=None, exclude_border=True): hwnd = 0 # first check window_name if window_name is not None: hwnd = win32gui.FindWindow(None, window_name) if hwnd == 0: def callback(h, extra): if window_name in win32gui.GetWindowText(h): extra.append(h) return True extra = [] win32gui.EnumWindows(callback, extra) if extra: hwnd = extra[0] if hwnd == 0: raise WindowsAppNotFoundError("Windows Application <%s> not found!" % window_name) # check exe_file by checking all processes current running. elif exe_file is not None: pid = find_process_id(exe_file) if pid is not None: def callback(h, extra): if win32gui.IsWindowVisible(h) and win32gui.IsWindowEnabled(h): _, p = win32process.GetWindowThreadProcessId(h) if p == pid: extra.append(h) return True return True extra = [] win32gui.EnumWindows(callback, extra) #TODO: get main window from all windows. if extra: hwnd = extra[0] if hwnd == 0: raise WindowsAppNotFoundError("Windows Application <%s> is not running!" % exe_file) # if window_name & exe_file both are None, use the screen. if hwnd == 0: hwnd = win32gui.GetDesktopWindow() self.hwnd = hwnd self.exclude_border = exclude_border
Example #2
Source File: dual.py From onmyoji_bot with GNU General Public License v3.0 | 6 votes |
def get_all_hwnd(hwnd, mouse): ''' 获取所有阴阳师窗口 ''' if win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd): if win32gui.GetWindowText(hwnd) == u'阴阳师-网易游戏': hwndlist.append(hwnd)
Example #3
Source File: Utils.py From EventGhost with GNU General Public License v2.0 | 6 votes |
def HwndHasChildren(hWnd, invisible): """ Return True if the window 'hwnd' has children. If 'invisible' is False, don't take invisible windows into account. """ data = [False] if invisible: def EnumFunc(hWndChild, lParam): data[0] = True return False else: def EnumFunc(hWndChild, lParam): if IsWindowVisible(hWndChild): data[0] = True return False return True EnumChildWindows(hWnd, ENUM_CHILD_PROC(EnumFunc), 0) return data[0]
Example #4
Source File: __init__.py From EventGhost with GNU General Public License v2.0 | 6 votes |
def GetWindowState(self): hWnd = Find_MPC() if not hWnd: return -1 else: hWnd = hWnd[0] if not IsWindowVisible(hWnd): return 0 state = GetWindowPlacement(hWnd)[1] border = GetWindowLong(hWnd, GWL_EXSTYLE) & WS_EX_WINDOWEDGE if border: return state rect = GetWindowRect(hWnd) mons = EnumDisplayMonitors() fullscreen = False for mon in mons: if rect == mon[2]: fullscreen = True break if fullscreen: return 4 return state #===============================================================================
Example #5
Source File: winpty.py From marsnake with GNU General Public License v3.0 | 5 votes |
def get_hwnds_for_pid(pid): def callback(hwnd, hwnds): # if win32gui.IsWindowVisible(hwnd) and win32gui.IsWindowEnabled(hwnd): _, found_pid = win32process.GetWindowThreadProcessId(hwnd) # print hwnd if found_pid == pid: hwnds.append(hwnd) return True hwnds = [] win32gui.EnumWindows(callback, hwnds) return hwnds
Example #6
Source File: functions.py From bot with MIT License | 5 votes |
def set_window_coordinates(hwnd, window_info): if win32gui.IsWindowVisible(hwnd): if WINDOW_SUBSTRING in win32gui.GetWindowText(hwnd): rect = win32gui.GetWindowRect(hwnd) x = rect[0] y = rect[1] w = rect[2] - x h = rect[3] - y window_info['x'] = x window_info['y'] = y window_info['width'] = w window_info['height'] = h window_info['name'] = win32gui.GetWindowText(hwnd) win32gui.SetForegroundWindow(hwnd)
Example #7
Source File: EmbedWindow.py From PyQt with GNU General Public License v3.0 | 5 votes |
def _enumWindows(self, hwnd, _): """遍历回调函数""" if hwnd == self.myhwnd: return # 防止自己嵌入自己 if win32gui.IsWindow(hwnd) and win32gui.IsWindowVisible(hwnd) and win32gui.IsWindowEnabled(hwnd): phwnd = win32gui.GetParent(hwnd) title = win32gui.GetWindowText(hwnd) name = win32gui.GetClassName(hwnd) self.windowList.addItem( '{0}|{1}|\t标题:{2}\t|\t类名:{3}'.format(hwnd, phwnd, title, name))
Example #8
Source File: explore_dual.py From onmyoji_bot with GNU General Public License v3.0 | 5 votes |
def get_all_hwnd(hwnd, mouse): ''' 获取所有阴阳师窗口 ''' if win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd): if win32gui.GetWindowText(hwnd) == u'阴阳师-网易游戏': hwndlist.append(hwnd)
Example #9
Source File: Utils.py From EventGhost with GNU General Public License v2.0 | 5 votes |
def GetHwnds(pid = None, processName = None): if pid: pass elif processName: pids = GetPids(processName = processName) if pids: pid = pids[0] else: return False else: return False def callback(hwnd, hwnds): if IsWindowVisible(hwnd): _, result = GetWindowThreadProcessId(hwnd) if result == pid: hwnds.append(hwnd) return True from win32gui import EnumWindows, IsWindowVisible from win32process import GetWindowThreadProcessId hwnds = [] EnumWindows(callback, hwnds) return hwnds
Example #10
Source File: winapi.py From gui-o-matic with GNU Lesser General Public License v3.0 | 5 votes |
def get_visibility( self ): return win32gui.IsWindowVisible( self.window_handle )
Example #11
Source File: windows.py From airtest with BSD 3-Clause "New" or "Revised" License | 4 votes |
def _getHandleThroughFilename(self): Psapi = ctypes.WinDLL('Psapi.dll') EnumProcesses = Psapi.EnumProcesses EnumProcesses.restype = ctypes.wintypes.BOOL GetProcessImageFileName = Psapi.GetProcessImageFileNameA GetProcessImageFileName.restype = ctypes.wintypes.DWORD Kernel32 = ctypes.WinDLL('kernel32.dll') OpenProcess = Kernel32.OpenProcess OpenProcess.restype = ctypes.wintypes.HANDLE TerminateProcess = Kernel32.TerminateProcess TerminateProcess.restype = ctypes.wintypes.BOOL CloseHandle = Kernel32.CloseHandle MAX_PATH = 260 PROCESS_TERMINATE = 0x0001 PROCESS_QUERY_INFORMATION = 0x0400 count = 32 while True: ProcessIds = (ctypes.wintypes.DWORD*count)() cb = ctypes.sizeof(ProcessIds) BytesReturned = ctypes.wintypes.DWORD() if EnumProcesses(ctypes.byref(ProcessIds), cb, ctypes.byref(BytesReturned)): if BytesReturned.value<cb: break else: count *= 2 else: raise Exception('Call to EnumProcesses failed') for index in range(BytesReturned.value / ctypes.sizeof(ctypes.wintypes.DWORD)): ProcessId = ProcessIds[index] hProcess = OpenProcess(PROCESS_TERMINATE | PROCESS_QUERY_INFORMATION, False, ProcessId) if hProcess: ImageFileName = (ctypes.c_char*MAX_PATH)() if GetProcessImageFileName(hProcess, ImageFileName, MAX_PATH)>0: filename = os.path.basename(ImageFileName.value) if filename == self.filename: break #TerminateProcess(hProcess, 1) CloseHandle(hProcess) def get_hwnds_for_pid(pid): def callback (hwnd, hwnds): if win32gui.IsWindowVisible (hwnd) and win32gui.IsWindowEnabled (hwnd): _, found_pid = win32process.GetWindowThreadProcessId (hwnd) if found_pid == pid: hwnds.append (hwnd) return True hwnds = [] win32gui.EnumWindows(callback, hwnds) return hwnds return get_hwnds_for_pid(ProcessId)
Example #12
Source File: main.py From PUBG with The Unlicense | 4 votes |
def enum_window_callback(hwnd, pid): tid, current_pid = win32process.GetWindowThreadProcessId(hwnd) if pid == current_pid and win32gui.IsWindowVisible(hwnd): win32gui.SetForegroundWindow(hwnd) l("window activated")