1
這裏我的功能:如何從窗口中獲取文本?
def getEditText(hwnd):
result = []
bufferlength = struct.pack('i', 255)
linecount = win32gui.SendMessage(hwnd, win32con.EM_GETLINECOUNT, 0, 0)
print"--- linecount :",linecount
for line in range(linecount):
linetext = bufferlength + "".ljust(253)
linelength = win32gui.SendMessage(hwnd, win32con.EM_GETLINE, line, linetext)
myLigne=linetext[:linelength]
print" ",myLigne
result.append(myLigne)
return result
resultat=getEditText(hwmdTexte)
我想從一個插件的文本,但是,這並不工作。 我的應用程序的小部件有幾行,但我有linecount = 0,當然沒有文字... 你能幫我。
1.格式化似乎中斷。 2.什麼窗口小部件,什麼GUI工具包等? – delnan 2010-12-12 22:27:48
首先,驗證你的'hwnd'是指一個編輯控件(而不是一個包含編輯控件等的窗口)。使用Spy ++或類似的工具來確認你的假設。 – atzz 2010-12-13 11:27:07
感謝您的回答。我也認爲控制有問題。不過,我用兩種不同的工具(WinID和AutoIt)進行了檢查。該控件的名稱是TEXTE。此外,我試過一個for循環,以防萬一。對於handle,nom,classe控件: resultat = GetTex(句柄)還有一件事我不明白:爲什麼使用WinID和AutoIt我可以得到一些應用程序的文本,但沒有與這一個... – chris33 2010-12-14 09:47:34