Я не уверен, что win32gui.EnumWindows работает правильно.Python

Программы на Python
Ответить
Anonymous
 Я не уверен, что win32gui.EnumWindows работает правильно.

Сообщение Anonymous »

Я только начинаю работать с pywin32, поэтому я немного схематично представляю, как он должен работать в первую очередь, но win32gui.EnumWindows просто не нравится, когда я возвращаю False из обратного вызова, и я не конечно, почему. Например, происходит следующее:

Код: Выделить всё

from win32gui import EnumWindows

def derp(hWnd, lParam):
return False

EnumWindows(derp, 0)
с обратной трассировкой

Код: Выделить всё

Traceback (most recent call last):
File "C:\--------\test5.py", line 7, in 
EnumWindows(ewp, 0)
error: (126, 'EnumWindows', 'The specified module could not be found.')
Коды ошибок могут различаться, поэтому я думаю, что они не имеют никакого отношения к вызову EnumWindows. Например, код изменится на 123 («Неправильный синтаксис имени файла, имени каталога или метки тома»). Если я запускаю его на своем старом ноутбуке с XP, и если я помещаю оператор печати перед «return False», он возвращается как ошибка 0. Все работает нормально, если я каждый раз просто возвращаю True из обратного вызова и пропускаю его через все окна.

Я думаю, что начиная с версии EnumWindows на C возвращает false, когда обратный вызов возвращает false и, когда что-то действительно идет не так, оболочка может видеть только возвращаемое значение и предполагает худшее, когда оно оказывается ложным? Или это что-то другое?

(с использованием Python 2.7.9 и pywin32, сборка 219)

Подробнее здесь: https://stackoverflow.com/questions/296 ... g-properly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»