Как я могу получить текст из окна? - PullRequest
1 голос
/ 13 декабря 2010

Вот моя функция:

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 Ответ

0 голосов
/ 13 декабря 2010

Спасибо за ваш ответ. Я только что попробовал def

GetText(hwnd):
    buf_size = 1 + win32gui.SendMessage(hwnd, win32con.WM_GETTEXTLENGTH, 0, 0)
    buffer = win32gui.PyMakeBuffer(buf_size)
    win32gui.SendMessage(hwnd, win32con.WM_GETTEXT, buf_size, buffer)
    return buffer[:buf_size]    

Но это не получает текст моего виджета. Эта функция возвращает NUL ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...