Форум сайта python.su
15
Есть проблема. Есть несколько окон, которые открыты постоянно. Но одно иногда отваливается(виснет).
Допустим открывать я его могу через subprocess.Popen() или os.startfile. Но вот как мне найти это окно и понять , что оно повисло, не представляю. Подскажите, пжлст.
Допустим надо найти его процесс, но как понять , что он повис?
Отредактировано buddha (Авг. 5, 2013 16:03:28)
Офлайн
25
OC?
Офлайн
15
Windows
Офлайн
25
Обычно, для этих целей используется SendMessageTimeout с сообщением WM_NULL
Офлайн
15
Я к сожалению не знаток С.
Вот пробую просто сначала послать сообщение эксплореру. Получил его HWND(через visual studio spy).
WM_NULL я так понял это просто 0.
Пишу:
>>> ctypes.windll.user32.SendMessageTimeoutW('0x00105E6', 0, 0, 0, 2, 500) Traceback (most recent call last): File "<console>", line 1, in <module> ValueError: Procedure probably called with not enough arguments (28 bytes missing)
Офлайн
25
раз уж вы используете winapi то поставте себе pywin32, это удобнее чем вызов через ctypes.
Первый параметр - это число, вы передаете его как строку. Почитайте статью на MSDN - там описаны все параметры. У меня под рукой win-системы нет сейчас, чтобы проверить.
Офлайн