本文整理汇总了Python中win32gui.IsWindowVisible方法的典型用法代码示例。如果您正苦于以下问题:Python win32gui.IsWindowVisible方法的具体用法?Python win32gui.IsWindowVisible怎么用?Python win32gui.IsWindowVisible使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类win32gui
的用法示例。
在下文中一共展示了win32gui.IsWindowVisible方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: GetHwnds
# 需要导入模块: import win32gui [as 别名]
# 或者: from win32gui import IsWindowVisible [as 别名]
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
示例2: HwndHasChildren
# 需要导入模块: import win32gui [as 别名]
# 或者: from win32gui import IsWindowVisible [as 别名]
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]
示例3: GetWindowState
# 需要导入模块: import win32gui [as 别名]
# 或者: from win32gui import IsWindowVisible [as 别名]
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
#===============================================================================
示例4: get_hwnds_for_pid
# 需要导入模块: import win32gui [as 别名]
# 或者: from win32gui import IsWindowVisible [as 别名]
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
示例5: enum_window_callback
# 需要导入模块: import win32gui [as 别名]
# 或者: from win32gui import IsWindowVisible [as 别名]
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")
示例6: set_window_coordinates
# 需要导入模块: import win32gui [as 别名]
# 或者: from win32gui import IsWindowVisible [as 别名]
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)
示例7: __init__
# 需要导入模块: import win32gui [as 别名]
# 或者: from win32gui import IsWindowVisible [as 别名]
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
示例8: _enumWindows
# 需要导入模块: import win32gui [as 别名]
# 或者: from win32gui import IsWindowVisible [as 别名]
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))
示例9: get_all_hwnd
# 需要导入模块: import win32gui [as 别名]
# 或者: from win32gui import IsWindowVisible [as 别名]
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)
示例10: get_visibility
# 需要导入模块: import win32gui [as 别名]
# 或者: from win32gui import IsWindowVisible [as 别名]
def get_visibility( self ):
return win32gui.IsWindowVisible( self.window_handle )
示例11: _getHandleThroughFilename
# 需要导入模块: import win32gui [as 别名]
# 或者: from win32gui import IsWindowVisible [as 别名]
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)