Ejemplo n.º 1
0
def win32Up(self, file):
    dialog = win32gui.FindWindow('#32770', u'打开')
    ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
    ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
    Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit',
                                 None)  # 上面三句依次寻找对象,直到找到输入框Edit对象的句柄
    button = win32gui.FindWindowEx(dialog, 0, 'Button', None)  # 确定按钮Button
    win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, file)  # 往输入框输入绝对地址
    time.sleep(5)
    win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)  # 按button
    time.sleep(5)
Ejemplo n.º 2
0
def find_idxSubHandle(pHandle, winClass, index=0):
    """
        已知子窗口的窗体类名
        寻找第index号个同类型的兄弟窗口
        """
    assert type(index) == int and index >= 0
    handle = win32gui.FindWindowEx(pHandle, 0, winClass, None)
    while index > 0:
        handle = win32gui.FindWindowEx(pHandle, handle, winClass, None)
        index -= 1
    return handle
Ejemplo n.º 3
0
    def __init__(self, fgFilePath=None):  
        self.Mhandle = win32gui.FindWindow(None,'IP出校控制器')  
#         print ("IP 出校器初始化完成,父类句柄为%x"%(self.Mhandle) )
#         TButton0_handle = find_subHandle(self.Mhandle, [("TButton",0)])
#         TButton1_handle = find_subHandle(self.Mhandle,[("TComboBox",0),("Edit",0)])
        self.TEdit_id_handle = find_subHandle(self.Mhandle, [("TEdit",1)])#用户名
        self.TEdit_pw_handle = find_subHandle(self.Mhandle, [("TEdit",0)])#密码
        self.TStatusBar_handle = find_subHandle(self.Mhandle, [("TStatusBar",0)])#版本信息
        self.TButton_lianjie_handle=win32gui.FindWindowEx(self.Mhandle,0,None,"连接")
        self.TButton_chaxun_handle=win32gui.FindWindowEx(self.Mhandle,0,None,"查询")
        self.GroupBox_handle= find_subHandle(self.Mhandle, [("TGroupBox",0)])#余额
Ejemplo n.º 4
0
 def find_idxSubHandle(hwnd,handlelist=[]):  
     """ 传入父窗口的句柄,和要查找的标题或者类型(默认为None),寻找父句柄下的所有子孙句柄 """  
     handle = win32gui.FindWindowEx(hwnd, 0, None, None)
     while handle>0:
         pan_xuanze=0
         if btlx:
             if btlx in win32gui.GetWindowText(handle) or btlx in win32gui.GetClassName(handle):pan_xuanze=1
         else:pan_xuanze=1
         if pan_xuanze:handlelist.append(handle)
         find_idxSubHandle(handle,handlelist)
         handle = win32gui.FindWindowEx(hwnd, handle, None, None)
Ejemplo n.º 5
0
def find_sub_hwnd_in_index(hwnd, win_class, index=0):
    """
    已知子窗口的窗体类名
    寻找第index号个同类型的兄弟窗口
    """
    assert type(index) == int and index >= 0
    sub_hwnd = win32gui.FindWindowEx(hwnd, 0, win_class, None)
    while index > 0:
        sub_hwnd = win32gui.FindWindowEx(hwnd, handle, win_class, None)
        index -= 1
    return sub_hwnd
Ejemplo n.º 6
0
def openDialog(windowname, inputAddress):
    dialog = win32gui.FindWindow('#32770', windowname)  # 对话框
    ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
    ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
    Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit',
                                 None)  # 上面三句依次寻找对象,直到找到输入框Edit对象的句柄
    button = win32gui.FindWindowEx(dialog, 0, 'Button', None)  # 确定按钮Button

    win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None,
                         inputAddress)  # 往输入框输入绝对地址
    win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)  # 按button
Ejemplo n.º 7
0
 def close_all_dialog(self):
     hdlg = win32gui.FindWindowEx(0, 0, '#32770', None)
     while hdlg > 0:
         hdlg = win32gui.FindWindowEx(0, hdlg, '#32770', None)
         dlgthread, dlgprocessId = win32process.GetWindowThreadProcessId(
             hdlg)
         if win32gui.IsWindowVisible(
                 hdlg
         ) and dlgprocessId == self.processId and self.threadId == dlgthread:
             win32gui.PostMessage(hdlg, win32con.WM_CLOSE, 0, 0)
     return 0
Ejemplo n.º 8
0
def harvest(count):
    playing = True
    # start bluestacks
    if win32gui.FindWindow(None, 'BlueStacks App Player') == 0:
        playing = False
        win32api.ShellExecute(0, 'open', 'F:\BluestacksCN\BluestacksGP.exe',
                              '', '', 1)
        time.sleep(40)

    wm = win32gui.FindWindow(None, 'BlueStacks App Player')

    # 测试关闭
    if playing:
        # 提示
        win32api.ShellExecute(
            0, 'open', r'D:\resource\bilibili_video\【少女前线手书】这次轮到AR小队来跳舞啦.flv',
            '', '', 0)
        time.sleep(130)

    # start gf
    if not playing:
        hwndClick(wm, 470, 200)
        time.sleep(30)

    # def func(hwnd, arg):
    # print(hex(hwnd))
    # win32gui.EnumChildWindows(wm, func, arg)

    app_host_hwnd = win32gui.FindWindowEx(wm, 0, None, 'HOSTWND')
    sq_hwnd = win32gui.FindWindowEx(app_host_hwnd, 0, None,
                                    'BlueStacks Android PluginAndroid')

    # login gf
    if not playing:
        hwndClick(sq_hwnd, 325, 568)
        time.sleep(30)
        hwndClick(sq_hwnd, 325, 568)
        time.sleep(30)

    # harvest
    for i in range(count):
        hwndClick(sq_hwnd, 380, 390)
        time.sleep(3)
        hwndClick(sq_hwnd, 380, 390)
        time.sleep(3)

    # confirm
    hwndClick(sq_hwnd, 16, 360)
    time.sleep(3)

    # shut down bluestacks
    # WM_CLOSE 不行
    if not playing:
        win32gui.SendMessage(wm, win32con.WM_DESTROY)
Ejemplo n.º 9
0
    def Sendfile(self, picpath):  # 传入图片路径

        dialog = win32gui.FindWindow('#32770', '打开')  # 对话框
        ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
        ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
        Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit',
                                     None)  # 上面三句依次寻找对象,直到找到输入框Edit对象的句柄
        button = win32gui.FindWindowEx(dialog, 0, 'Button', None)  # 确定按钮Button

        win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None,
                             picpath)  # 往输入框输入绝对地址
        win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)  # 按button
Ejemplo n.º 10
0
 def upload_file(file_path):
     '''
     :param file_path:上传文件的路径
     :return:
     '''
     dialog = win32gui.FindWindow("#32770", "打开")
     comboxex32 = win32gui.FindWindowEx(dialog, 0, "ComboBoxEx32", None)
     combox = win32gui.FindWindowEx(comboxex32, 0, "ComboBox", None)
     edit = win32gui.FindWindowEx(combox, 0, "Edit", None)
     button = win32gui.FindWindowEx(dialog, 0, "Button", "打开(&0)")
     win32gui.SendMessage(edit, win32con.WM_SETTEXT, None, file_path)
     win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)
Ejemplo n.º 11
0
def upload(path):
    dialog = win32gui.FindWindow(None, '打开')  # 对话框
    ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
    ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
    # 获取文件路径输入框对象的句柄
    Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None)
    # 获取 打开button按钮对象
    button = win32gui.FindWindowEx(dialog, 0, 'Button', '打开(&O)')
    # 输入框输入绝对路径
    win32gui.SendMessage(Edit, win32con.WM_SETTEXT, 0, path)
    # 点击 打开
    win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)
Ejemplo n.º 12
0
def EXE():
    try:
        while win32gui.FindWindowEx(win32gui.FindWindow('#32770','条件选股'),None,'Static','选股完毕. ') == 0:
            zs = win32gui.FindWindowEx(win32gui.FindWindow('#32770','条件选股'),None,'Button','执行选股')
            print(zs)
            print(type(zs))
            win32gui.PostMessage(win32gui.FindWindowEx(win32gui.FindWindow('#32770','条件选股'),None,'Button','执行选股'),win32con.BM_CLICK,0,0)
            time.sleep(7)
            print("执行选股")
            break
    except Exception as e:
        ReadEBK.wx_msg(corp_id, secret,agentid,sys._getframe().f_code.co_name+'\t'+str(e))
Ejemplo n.º 13
0
def enterRoom():
    hwnd = win32gui.FindWindow(None, "카카오톡")
    hwndChild = win32gui.FindWindowEx(hwnd, None, "EVA_ChildWindow", None)
    hwndEdit01 = win32gui.FindWindowEx(hwndChild, None, "EVA_Window", None)
    hwndEdit02 = win32gui.FindWindowEx(hwndChild, hwndEdit01, "EVA_Window",
                                       None)
    hwndEdit02_01 = win32gui.FindWindowEx(hwndEdit02, None, "Edit", None)

    win32api.SendMessage(hwndEdit02_01, win32con.WM_SETTEXT, 0, roomTitle)
    time.sleep(1)  # 안정성 위해 필요
    sendReturn(hwndEdit02_01)
    time.sleep(1)
Ejemplo n.º 14
0
 def upload_file_windows(self, file_path):
     '''
     :param file_path:上传文件的路径,需点击打开上传按钮,弹出windows窗口再调用 chrome 可调用
     :return:
     '''
     dialog = win32gui.FindWindow("#32770", u"打开")  #窗口左上角文字
     comboxex32 = win32gui.FindWindowEx(dialog, 0, "ComboBoxEx32", None)
     combox = win32gui.FindWindowEx(comboxex32, 0, "ComboBox", None)
     edit = win32gui.FindWindowEx(combox, 0, "Edit", None)
     button = win32gui.FindWindowEx(dialog, 0, "Button", "打开(&0)")
     win32gui.SendMessage(edit, win32con.WM_SETTEXT, None, file_path)
     win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)
Ejemplo n.º 15
0
def AccountLogin_LoginFail():
    try:
        global_TB.status = 10
        if global_TB.TB_handle != 0:
            #times=1
            if win32gui.SendMessage(
                    win32gui.FindWindowEx(
                        win32gui.FindWindowEx(
                            win32gui.FindWindowEx(
                                global_TB.TB_handle,
                                win32gui.FindWindowEx(
                                    global_TB.TB_handle, 0, 'AfxControlBar110',
                                    None), 'AfxControlBar110', None), 0, None,
                            '帐户管理'), 0, 'SysListView32', None),
                    LVM_GETITEMCOUNT) < 1:
                if global_TB.times < 150:
                    Log('柜台关闭')
                    global_TB.status = 11
                    win32gui.PostMessage(
                        global_TB.TB_handle, win32con.WM_COMMAND,
                        win32gui.GetMenuItemID(
                            win32gui.GetSubMenu(
                                win32gui.GetMenu(global_TB.TB_handle), 7),
                            17), 0)  #帐户登录
                    win32gui.SendMessage(
                        win32gui.FindWindowEx(
                            win32gui.FindWindow('#32770', '帐户登录'), 0, 'Button',
                            '登录(&L)'), win32con.WM_ACTIVATE,
                        win32con.WA_ACTIVE, 0)  #激活窗口
                    time.sleep(4)
                    win32gui.SendMessage(
                        win32gui.FindWindowEx(
                            win32gui.FindWindow('#32770', '帐户登录'), 0, 'Button',
                            '登录(&L)'), win32con.BM_CLICK, 1, 0)
                    global_TB.times = global_TB.times + 1
                    Log(str(global_TB.times) + ' 次登录')
                    time.sleep(15)
                    global_TB.Accounts = win32gui.SendMessage(
                        win32gui.FindWindowEx(
                            win32gui.FindWindowEx(
                                win32gui.FindWindowEx(
                                    global_TB.TB_handle,
                                    win32gui.FindWindowEx(
                                        global_TB.TB_handle, 0,
                                        'AfxControlBar110', None),
                                    'AfxControlBar110', None), 0, None,
                                '帐户管理'), 0, 'SysListView32', None),
                        LVM_GETITEMCOUNT)
                    global_TB.Trade = 0
                #else:
                #break;
    except Exception as e:
        Log(str(e))
Ejemplo n.º 16
0
def renderWallpaper():
    global _handle, _widget, _legacy, _cursorAtDesktop, _wndproc0

    sys.excepthook = cef.ExceptHook  # 替换python预定义异常处理逻辑,为保证异常发生时能够结束所有进程
    cef.Initialize(
        settings={},
        switches={"disable-gpu-compositing": None}  # 添加了用于解决高 DPI 问题的参数
    )

    # 启用 CEF 高 DPI 支持
    cef.DpiAware.EnableHighDpiSupport()

    # 初始化 CEF 浏览器,并设置加载完毕的事件处理代码
    broswer = cef.CreateBrowserSync(url="file:///" + os.getcwd() +
                                    "/Website/website.html")
    broswer.SetClientHandler(LoadHandler())

    # 获得与 CEF 浏览器有关的窗口句柄 (句柄名在 Spy++ 中查找的)
    _handle = broswer.GetWindowHandle()
    _widget = win32gui.FindWindowEx(_handle, 0, "Chrome_WidgetWin_0", None)
    _legacy = win32gui.FindWindowEx(_widget, 0, "Chrome_RenderWidgetHostHWND",
                                    None)

    # 获得屏幕分辨率
    _screenSize[0] = win32api.GetSystemMetrics(win32con.SM_CXSCREEN)
    _screenSize[1] = win32api.GetSystemMetrics(win32con.SM_CYSCREEN)

    # 去除浏览器内核边框
    win32gui.SetWindowLong(
        _handle, win32con.GWL_STYLE,
        win32gui.GetWindowLong(_handle, win32con.GWL_STYLE)
        & ~(win32con.WS_CAPTION | win32con.WS_BORDER | win32con.WS_THICKFRAME))

    # 将网页铺满全屏
    win32gui.SetWindowPos(_handle, win32con.HWND_TOP, 0, 0, _screenSize[0],
                          _screenSize[1], win32con.SWP_NOACTIVATE)
    win32gui.SetParent(_handle, _GetWorkerW())

    # 更改 CEF 浏览器的一些行为
    _wndproc0 = win32gui.SetWindowLong(_legacy, win32con.GWL_WNDPROC,
                                       _InputHandler)
    mouseDevice = RAWINPUTDEVICE()
    mouseDevice.usUsagePage = 0x01
    mouseDevice.usUsage = 0x02
    mouseDevice.dwFlags = 0x100
    mouseDevice.hwndTarget = _legacy
    ctypes.windll.user32.RegisterRawInputDevices(ctypes.byref(mouseDevice), 1,
                                                 ctypes.sizeof(mouseDevice))

    cef.MessageLoop()  # 正式启动浏览器

    cef.Shutdown()  # 浏览器关闭后释放资源
Ejemplo n.º 17
0
def solvedexplore(filepath):
    # 有个bug打开后过快就没反应,停2秒先
    time.sleep(3)
    while not win32gui.FindWindow(None, u"打开"):
        time.sleep(1)  # 等到窗口出现
    dialog = win32gui.FindWindow(None, u"打开")

    ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
    ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
    Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None)
    button = win32gui.FindWindowEx(dialog, 0, None, u"打开(&O)")
    win32gui.SendMessage(Edit, win32con.WM_SETTEXT, 0, filepath.encode("gbk"))
    win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)
Ejemplo n.º 18
0
def ClickButton(parent, name, sleepTime=2):
    button = win32gui.FindWindowEx(parent, None, 'Button', name)
    count = 0
    while button == 0:
        button = win32gui.FindWindowEx(parent, None, 'Button', name)
        time.sleep(0.1)
        count += 1
        if count == 1000:
            break

    win32gui.PostMessage(button, win32con.BM_CLICK, 0, 0)
    print('click', name)
    time.sleep(sleepTime)
Ejemplo n.º 19
0
    def OpenFileBrowser(self, filepath):
        # win32gui
        dialog = win32gui.FindWindow('#32770', u'打开')  # 对话框
        ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
        ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
        # 上面三句依次寻找对象,直到找到输入框Edit对象的句柄
        Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None)
        button = win32gui.FindWindowEx(dialog, 0, 'Button', None)  # 确定按钮Button
        win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, filepath)
        # win32gui.SendMessage(Edit,win32con.WM_SETTEXT,None,'F:\sourcecode\unity\product\kidsgame\ProjectOutPut\xiehanzi\hanziyuan\screenshot\shu\cn\480p\1.jpg')  # 往输入框输入绝对地址
        win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)  # 按button

        time.sleep(3)
Ejemplo n.º 20
0
def winUpload(filepos):
    time.sleep(3)
    dialog = win32gui.FindWindow(0, u'打开')  # 找到windows对话框参数是(className,title)
    # print dialog
    ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
    ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
    Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None)
    # 上面3句依次找对象,直到找出输入框Edit对象的句柄
    button = win32gui.FindWindowEx(dialog, 0, 'Button', None)  # 确定按钮
    # 跟上面示例的代码是一样的,只是这里传入的参数不同,如果愿意可以写一个上传函数把上传功能封装起来
    win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, filepos)
    win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)
    pass
Ejemplo n.º 21
0
def open_chatroom(chatroom_name):
    # # 채팅방 목록 검색하는 Edit (채팅방이 열려있지 않아도 전송 가능하기 위하여)
    hwndkakao = win32gui.FindWindow(None, "카카오톡")
    hwndkakao_edit1 = win32gui.FindWindowEx( hwndkakao, None, "EVA_ChildWindow", None)
    hwndkakao_edit2_1 = win32gui.FindWindowEx( hwndkakao_edit1, None, "EVA_Window", None)
    hwndkakao_edit2_2 = win32gui.FindWindowEx( hwndkakao_edit1, hwndkakao_edit2_1, "EVA_Window", None)
    hwndkakao_edit3 = win32gui.FindWindowEx( hwndkakao_edit2_2, None, "Edit", None)

    # # Edit에 검색 _ 입력되어있는 텍스트가 있어도 덮어쓰기됨
    win32api.SendMessage(hwndkakao_edit3, win32con.WM_SETTEXT, 0, chatroom_name)
    time.sleep(1)   # 안정성 위해 필요
    SendReturn(hwndkakao_edit3)
    time.sleep(1)
Ejemplo n.º 22
0
 def files_up(self):
     """本地文件上传"""
     time.sleep(1)
     dialog = win32gui.FindWindow('#32770', '打开')  # 一级窗口
     ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)  # 二级窗口
     comboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)  # 三级窗口
     edit = win32gui.FindWindowEx(comboBox, 0, 'Edit', None)  # 四级窗口
     button = win32gui.FindWindowEx(dialog, 0, 'button', None)  # 一级窗口
     time.sleep(2)  # 必须等到,js需要时间反应过来
     win32gui.SendMessage(edit, win32con.WM_SETTEXT, None, r'C:\Users\HP\Desktop\test.xlsx')  # 发送文件路径
     time.sleep(2)
     win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)   # 点击打开按钮
     time.sleep(2)
Ejemplo n.º 23
0
 def upload_assist(self, file_path):
     """
     文件上传
     :param file_path: 上传文件的绝对路径
     :return:
     """
     file_path = self.get_param_value(file_path)
     dialog = win32gui.FindWindow('#32770', u'打开')
     ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
     ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
     Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None)
     button = win32gui.FindWindowEx(dialog, 0, 'Button', None)
     win32gui.SendMessage(Edit, win32con.WM_SETTEXT, 0, file_path)
     win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)
Ejemplo n.º 24
0
 def winUpLoadFile(self, file_path, title):
     # 一级顶层窗口,此处title为上传窗口名称,浏览器不一样上传窗口名称不一样
     dialog = win32gui.FindWindow("#32770", title)
     # 二级窗口
     ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, "ComboBoxEx32", None)
     # 三级窗口
     comboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, "ComboBox", None)
     # 四级窗口
     edit = win32gui.FindWindowEx(comboBox, 0, 'Edit', None)
     button = win32gui.FindWindowEx(dialog, 0, 'Button', None)
     # 执行操作 输入文件路径
     win32gui.SendMessage(edit, win32con.WM_SETTEXT, None, file_path)
     # 点击打开上传文件
     win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)
Ejemplo n.º 25
0
def SendData2Windows(times,name,psw,database):
	pwin=win32gui.FindWindow(None,'Oracle 登录')
	if pwin:
		ppanelone=win32gui.FindWindowEx(pwin, None, 'TPanel', None)
		ppaneltwo=win32gui.FindWindowEx(pwin, ppanelone, 'TPanel', None)
		if ppanelone==0 or ppaneltwo==0:
			print '没有找到对应窗口'
			return
			
		first = win32gui.FindWindowEx(ppanelone, None, 'TEdit', None)
		'''
		len = 100
		buffer = win32gui.PyMakeBuffer(len)
		nchars = win32gui.SendMessage(first, win32con.WM_GETTEXT, len, buffer) 
		print '账号:',buffer
		'''
		if first:
			#密码
			win32gui.SendMessage(first, win32con.WM_SETTEXT, 0,psw)	
			second = win32gui.FindWindowEx(ppanelone, first, 'TEdit', None)
			'''
			print second
			len = 100
			len = 100
			buffer = '0' *50
			buffer = win32gui.PyMakeBuffer(len)
			nchars = win32gui.SendMessage(second, win32con.WM_GETTEXT, len, buffer) 
			print '密码:',buffer
			'''
			if second:
				#帐户
				win32gui.SendMessage(second, win32con.WM_SETTEXT, 0,name)
				third = win32gui.FindWindowEx(ppanelone, None, 'TPanel', None)
				if third:					
					thirdTComboBox = win32gui.FindWindowEx(third, None, 'TComboBox', None)					
					if thirdTComboBox:
						thirdEdit = thirdTComboBox = win32gui.FindWindowEx(thirdTComboBox, None, 'Edit', None)
						if thirdEdit:
							#数据库
							win32gui.SendMessage(thirdEdit, win32con.WM_SETTEXT, 0,database)
							canclebtn = win32gui.FindWindowEx(ppaneltwo, None, 'TButton', None)
							if canclebtn:
								okbtn = win32gui.FindWindowEx(ppaneltwo, canclebtn, 'TButton', None)
								if okbtn:
									win32gui.SendMessage(okbtn,win32con.BM_CLICK,0,0)
	else:
		times = times-1
		time.sleep(1)
		os.system('cls')
		print times+1
		if times > 0:
			SendData2Windows(times,name,psw,database)
		else:
			print '没有找到PLSQL登录窗口'
			os.system('pause')
Ejemplo n.º 26
0
 def upload_file(self, path):
     """上传附件"""
     self.wait(0.5)
     dialog = win32gui.FindWindow('#32770', u'打开')  # 识别对话框句柄
     combo_box_ex32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
     combo_box = win32gui.FindWindowEx(combo_box_ex32, 0, 'ComboBox', None)
     edit = win32gui.FindWindowEx(combo_box, 0, 'Edit',
                                  None)  # 找到输入框Edit对象的句柄
     button = win32gui.FindWindowEx(dialog, 0, 'Button', None)  # 找到按钮Button
     win32gui.SendMessage(edit, win32con.WM_SETTEXT, None,
                          path)  # 往输入框输入绝对地址
     win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)
     self.wait(2.5)
     log.info("upload file: %s" % path)
Ejemplo n.º 27
0
    def upload(window_class, window_caption, file_name):
        # 获取对话框
        window = win32gui.FindWindow(window_class, window_caption)
        combo_box_ex32 = win32gui.FindWindowEx(window, 0, 'ComboBoxEx32', None)
        combo_box = win32gui.FindWindowEx(combo_box_ex32, 0, 'ComboBox', None)
        # 输入框Edit对象的句柄
        edit_button = win32gui.FindWindowEx(combo_box, 0, 'Edit', None)
        # 确定按钮Button
        commit_button = win32gui.FindWindowEx(window, 0, 'Button', None)

        # 往输入框输入文件的绝对路径
        win32gui.SendMessage(edit_button, win32con.WM_SETTEXT, None, file_name)
        # 按button
        win32gui.SendMessage(window, win32con.WM_COMMAND, 1, commit_button)
Ejemplo n.º 28
0
 def upload_file(self, file_path):
     '''本函数用于文件上传'''
     #定位一级窗口
     dialog = win32gui.FindWindow("#32770", "打开")
     #定位二级窗口
     comboBoxEx32 = win32gui.FindWindowEx(dialog, 0, "comboBoxEx32", None)
     #定位三级窗口
     comboBox = win32gui.FindWindowEx(comboBoxEx32, 0, "comboBox", None)
     #定位四级窗口
     edit = win32gui.FindWindowEx(comboBox, 0, "edit", None)
     button = win32gui.FindWindowEx(dialog, 0, 'Button', None)
     #文件上传
     win32gui.SendMessage(edit, win32con.WM_SETTEXT, None, file_path)
     win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)
Ejemplo n.º 29
0
def OpenRemote(num):
    # Control SocksCap64
    hWnd = findwindw('SocksCap64_WND_Class_150213', None)
    c_hWnd = findwindwEx(hWnd, 0, 'Static', 'About SocksCap64')

    # win32gui.PostMessage(c_hWnd, win32con.BM_CLICK)
    Rect = win32gui.GetWindowRect(c_hWnd)
    print(Rect)

    # set front
    win32gui.ShowWindow(hWnd, win32con.SW_SHOWNA)
    KeyBoard(win32con.VK_DOWN)
    win32gui.SetForegroundWindow(hWnd)
    # Open remote
    # win32gui.PostMessage(c_hWnd,win32con.BM_CLICK)
    # KeyBoard(win32con.VK_LEFT)
    # KeyBoard(win32con.VK_RETURN)
    Click(Rect[0] + 20, Rect[1] + 20)
    KeyBoard(13)
    time.sleep(5)

    # select ip open and input password
    # select
    hWnd = findwindw('#32770', '远程桌面连接')
    c_hWnd = findwindwEx(hWnd, None, 'Button', '连接(&N)')
    com_hWnd = win32gui.FindWindowEx(hWnd, 0, 'ComboBoxEx32', None)
    com2_hWnd = win32gui.FindWindowEx(com_hWnd, 0, 'ComboBox', None)
    e_hWnd = win32gui.FindWindowEx(com2_hWnd, 0, 'Edit', None)
    # 设置文本框内容,等窗口处理完毕后返回true。中文需编码成gbk
    # 参数:句柄;消息类型;参数WParam,无需使用; 参数IParam,要设置的内容,字符串
    win32api.SendMessage(e_hWnd, win32con.WM_SETTEXT, 0, str_ip[num])
    print('Selected index is ', str_ip[num])

    # open
    win32api.PostMessage(c_hWnd, win32con.BM_CLICK)
    hwd = findwindw('TscShellContainerClass', str_na[num])
    win32gui.ShowWindow(hwd, win32con.SW_SHOWMAXIMIZED)
    KeyBoard(win32con.VK_DOWN)
    win32gui.SetForegroundWindow(hwd)

    # set Xvnc
    y_xorg = 575
    Click(1075, y_xorg)
    Click(908, y_xorg + 40)

    # set password
    Click(905, 627)
    time.sleep(0.5)
    KeyStr('chencheng123123')
    KeyBoard(13)  #Enter
Ejemplo n.º 30
0
    def setNewChatroom(self, chatroom_name):
        if not isinstance(chatroom_name, str):
            raise TypeError('인자 chatroom_name은 str 객체여야 합니다.')

        self.chatroom_name = chatroom_name
        self.hwndMain = wg.FindWindow(None, self.chatroom_name)
        if not wg.IsWindow(self.hwndMain):
            self.open_chatroom()
            self.hwndMain = wg.FindWindow(None, self.chatroom_name)

        self.hwndEdit = wg.FindWindowEx(self.hwndMain, None, "RICHEDIT50W",
                                        None)
        self.hwndList = wg.FindWindowEx(self.hwndMain, None,
                                        "EVA_VH_ListControl_Dblclk", None)