Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def main():
tree = auto.ControlFromCursor()
if ExpandFromRoot:
tree = tree.GetAncestorControl(lambda c, d: isinstance(c, auto.TreeControl))
if isinstance(tree, auto.TreeItemControl) or isinstance(tree, auto.TreeControl):
ExpandTreeItem(tree)
else:
auto.Logger.WriteLine('the control under cursor is not a tree control', auto.ConsoleColor.Yellow)
showMore = True
elif o in ('-d', '-depth'):
depth = int(v)
elif o in ('-t', '-time'):
seconds = int(v)
if seconds > 0:
Logger.Write('please wait for {0} seconds\n\n'.format(seconds), writeToFile=False)
time.sleep(seconds)
Logger.Log('Starts, Current Cursor Position: {}'.format(Win32API.GetCursorPos()))
control = None
if root:
control = GetRootControl()
if focus:
control = GetFocusedControl()
if cursor:
control = ControlFromCursor()
if depth < 0:
while depth < 0:
control = control.GetParentControl()
depth += 1
depth = 0xFFFFFFFF
if ancestor:
control = ControlFromCursor()
if control:
EnumAndLogControlAncestors(control, showAllName, showMore)
else:
Logger.Write('IUIAutomation return null element under cursor\n', ConsoleColor.Yellow)
else:
if not control:
control = GetFocusedControl()
controlList = []
while control:
def main():
automation.Logger.WriteLine('请把鼠标放在QQ群聊天窗口中的一个成员上面,3秒后获取\n')
time.sleep(3)
listItem = automation.ControlFromCursor()
if listItem.ControlType != automation.ControlType.ListItemControl:
automation.Logger.WriteLine('没有放在群成员上面,程序退出!')
return
consoleWindow = automation.GetConsoleWindow()
if consoleWindow:
consoleWindow.SetActive()
qqWindow = listItem.GetTopWindow()
list = listItem.GetParentControl()
allListItems = list.GetChildren()
for listItem in allListItems:
automation.Logger.WriteLine(listItem.Name)
answer = input('是否获取详细信息?按y和Enter继续\n')
if answer.lower() == 'y':
automation.Logger.WriteLine('\n3秒后开始获取QQ群成员详细资料,您可以一直按住F10键暂停脚本')
time.sleep(3)
qqWindow.SetActive()
time.sleep(seconds)
auto.Logger.Log('Starts, Current Cursor Position: {}'.format(auto.GetCursorPos()))
control = None
if root:
control = auto.GetRootControl()
if focus:
control = auto.GetFocusedControl()
if cursor:
control = auto.ControlFromCursor()
if depth < 0:
while depth < 0 and control:
control = control.GetParentControl()
depth += 1
depth = 0xFFFFFFFF
if ancestor:
control = auto.ControlFromCursor()
if control:
auto.EnumAndLogControlAncestors(control, showAllName)
else:
auto.Logger.Write('IUIAutomation returns null element under cursor\n', auto.ConsoleColor.Yellow)
else:
indent = 0
if not control:
control = auto.GetFocusedControl()
controlList = []
while control:
controlList.insert(0, control)
control = control.GetParentControl()
if len(controlList) == 1:
control = controlList[0]
else:
control = controlList[1]
def main():
treeItem = auto.ControlFromCursor()
CollapseTreeItem(treeItem)
def main(args):
if args.time > 0:
time.sleep(args.time)
start = time.time()
if args.active:
c = auto.GetForegroundControl()
CaptureControl(c, args.path, args.up)
elif args.cursor:
c = auto.ControlFromCursor()
CaptureControl(c, args.path, args.up)
elif args.fullscreen:
c = auto.GetRootControl()
rects = auto.GetMonitorsRect()
dot = args.path.rfind('.')
for i, rect in enumerate(rects):
path = args.path[:dot] + '_' * i + args.path[dot:]
c.CaptureToImage(path, rect.left, rect.top, rect.width(), rect.height())
auto.Logger.WriteLine('capture image: ' + path)
auto.Logger.WriteLine('cost time: {:.3f} s'.format(time.time() - start))