pythonpywin32裡面操作窗體獲取窗體裡面的資料

2022-02-11 12:07:05 字數 2306 閱讀 7530

1樓:匿名使用者

不知道你解決了沒,最近正好研究python。

hwnd=win32gui.findwindow()這個獲取窗體控制代碼,大概都會用;

ctrl=win32gui.findwindowex(hwnd,none,'視窗類名',『標題文字』)已知控制項類名或控制項名時獲取控制項控制代碼,這個標題文字不一定存在,所以使用none預設值獲取的是該視窗類名中第乙個順位的控制項控制代碼。

你使用b=win32gui.getdlgitem(edit,資源id)最終結果是獲取的是控制代碼,這裡的資源id其實是spy++中的視窗id,控制代碼是可變的,視窗id是不可變的。這裡似乎錯了,你這樣子大概獲取的是控制項中的子項(控制項有子項的話,比如combox中的edit框),我猜的,沒試過。

b=win32gui.getdlgitem(hwnd,視窗id)是已知id下獲取某控制項控制代碼

如果你想獲取某個控制項的id則ctrlid=win32gui.getdlgctrlid(ctrl)這是乙隻某控制項控制代碼的情況下獲取該控制項在應用程式中的視窗id。

如果不知控制項控制代碼的情況下大概可以試試spy++獲取視窗id,把視窗id(這個是16進製制的)轉化成10進製帶進b=win32gui.getdlgitem(hwnd,視窗id)大概也可以得到控制項控制代碼。

其實就是三個函式之間的轉化

ctrl=win32gui.findwindowex(hwnd,none,'edit',none)控制項控制代碼

ctrlid=win32gui.getdlgctrlid(ctrl)控制項的視窗id

ctrl2=win32gui.getdlgitem(hwnd,ctrlid)控制項控制代碼

print "%x" %ctrllist

print "%x" %ctrlid

print "%x" %ctrl

輸出,看一下資料與spy++是否一致。然後ctrl=ctrl2

python中如何獲取輸入框entry輸入的內容並輸出

python下pywin32的使用教程

2樓:朱鑫哲

你可以直接到lib的site-packages下面的win32目錄下,有乙個demos。另外幾個win32開頭的目錄裡也有demos子目錄。進去看他們寫好的例子。

幾個簡單的教程:

使用查詢控制代碼

# 根據類名及標題名查詢控制代碼,

hwnd = win32gui.findwindow("tfrm_yzzplayer","葉子豬手遊模擬器")

# 查詢指定控制代碼的子控制代碼,後兩個引數為子類的類名與標題,如果沒有或不確定,可以寫none

hwnd = win32gui.findwindow(hwnd,none,"sub_class","sub_title")

修改視窗大小

# 沒有直接修改視窗大小的方式,但可以曲線救國,幾個引數分別表示控制代碼,起始點座標,寬高度,是否重繪介面 ,如果想改變視窗大小,就必須指定起始點的座標,沒果對起始點座標沒有要求,隨便寫就可以;如果還想要放在原先的位置,就需要先獲取之前的邊框位置,再呼叫該方法即可

win32gui.movewindow(hwnd,20,20,405,756,true)

前台後台

# 指定控制代碼設定為前台,也就是啟用

win32gui.setforegroundwindow(hwnd)

# 設定為後台

win32gui.setbkmode(hwnd, win32con.transparent)

3樓:匿名使用者

你安裝後,pywin32自帶了乙個教程。如果看著麻煩。你可以直接到lib的site-packages下面的win32目錄下,有乙個demos。

另外幾個win32開頭的目錄裡也有demos子目錄。進去看他們寫好的例子。

python pywin32模組中的makepy.py使用問題(急用)

4樓:三好実休

個人的經驗是,makepy會生成乙個中間層,上層的python code是通過中間層訪問下層的dll,所以,

你的dll檔案和轉換的py檔案需要同時存在

你的dll檔案需要註冊

pywin32 怎麼獲取 windows 的窗體內文字框的內容

5樓:素靖員運潔

獲取目前視窗的層次,對於獲取此視窗中指定的子視窗的控制代碼有非常重要的意義。此部分功能pyspy++是無法提供的,因為它只提供乙個子視窗,所以無法獲得目前視窗的層次

例如我想獲得og2263登入介面的視窗層次方法如下:

使用1)中的方法將查詢圖示拖

劍網三裡面怎麼F不了禪師,劍網三裡面怎麼F不了禪師

你好 你找的禪師是門派傳送人嗎?在敬師堂後邊的竹林裡。發傳單給再來鎮的居民才行,你選擇雜貨商等都行。其實少林在洛陽做任務比較好 劍網三裡面玩家的cp是怎麼出來的?花羊是因為萬花和氣純都是混元內功,藏劍是因為曾經給天策打探梅加仇恨,然後加上玩家的同人 漫畫yy,跟風的人多了就有了。其實官方是沒有這些c...

32除以8等於4表示32裡面有幾個幾

答 錯,應該是表示 32裡面有幾個8 或者 32是8的幾倍 你好,本題已解答,如果滿意,請點右上角 採納答案 支援一下。32除以8等於4,表示 1 表示32裡面有4個8 2 表示32裡面有8個4 18除以3等於6表示18裡面有幾個幾 18除以3等於6,表示18裡面有3個6。簡單的理解就是把18份平均...

62019,裡面最小填最大填

解 3 2x6 1900 3 2 1900 6 3 2 317 所以 最大填2,最小填1 3 2 6 1900,裡面最小填 1 最大填 2 三年級下學期期末試卷 三年級數學期末模擬考試卷 班級 座號 姓名 得分 一.填空 每空1分,共18分 1.三位數乘兩位數,積最少是 位數,最多是 位數。2 73...