python pywin32學習筆記


參考博客鏈接

https://blog.csdn.net/polyhedronx/article/details/81988948

參考博客鏈接

https://www.cnblogs.com/zhaobl/p/3326332.html

 

pyhandle=win32gui.FindWindow(classname,text)
  pyhandle windows窗體句柄,int 類型
  className 窗體類名
  text 窗體標題

win32gui.SetForegroundWindow(pyhandle)
win32gui.ShowWindow(pyhandle, win32con.SW_MAXIMIZE)
  窗體置頂
  窗體最大化

handle=win32gui.FindWindowEx(pyhandle,None,'Edit',None)

  通過父pyhandle窗體句柄找到第一個子窗體或控件

  函數原型

  pyHandle=FindWindowEx(Parent, ChildAfter , ClassName , WindowName)

  ChildAfer int類型,為0表示搜索所有

 

win32gui.SendMessage(handle, win32con.WM_GETTEXTLENGTH) #向句柄為handle的窗體發送消息得到文本內容大小,阻塞式

  函數原型

  int = SendMessage(hwnd, message , wparam , lparam )

  具體內容請查看windows api

 

buffer = win32gui.PyMakeBuffer(len) 
  得到長度為len的緩沖區類型

win32gui.SendMessage(edit_handle, win32con.WM_GETTEXT, len, buffer)  # 讀取文本

   讀取控件的文本內容

 

address, length = win32gui.PyGetBufferAddressAndLen(buffer)

   通過buffer得到地址和字符串長度

 

text = win32gui.PyGetString(address, length)

   通過地址和字符串長度得到文本內容

 

left,top,right,bottom=win32gui.GetClientRect(pyhandle)

   得到窗體的左,頂,右 ,底的坐標

 

import win32gui
win32api.keybd_event(key, 0, 0, 0)

   發送鍵盤消息,key為鍵值

 

import win32api
win32api.SetCursorPos([width, height])

   設置鼠標在屏幕中的坐標

 

import win32api,win32con
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

   鼠標左鍵單擊

 

import win32api,win32con
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

   鼠標右鍵單擊

 

import win32gui
hwndChildList = [] win32gui.EnumChildWindows(parent, lambda hwnd, param: param.append(hwnd), hwndChildList)  

      得到parent窗體下所有的窗體和控件句柄

 

import win32api,win32con
win32api.keybd_event(key, 0, win32con.KEYEVENTF_KEYUP, 0)

   key int類型,讓按下的鍵抬起來

 

 import win32gui,win32con
win32gui.SendMessage(handle,win32con.WM_SETTEXT,0,text)

   設置控件文本內容

 

import win32gui
win32gui.GetDlgItemText(pyhandle,dlgItemId)

   通過窗體句柄和控件id得到控件的text

    控件的id可以通過spy++或者AutoIt windows info獲取

 

 

import win32console,win32gui
cmd_win=win32console.GetConsoleWindow() if cmd_win>0: win32gui.ShowWindow(cmd_win,0) #windows下隱藏python程序運行的黑窗口,cmd命令行窗口

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM