|
|
|
не работает FindWindow
|
|||
|---|---|---|---|
|
#18+
Добрый день всем! Мне нужно из одной программы закрыть другую. Та другая при закрытии выдаёт окно сообщения с заголовком "Внимание!", мне его тоже надо закрыть. Вот мой код: HWND hwnd=FindWindow(NULL,"Заголовок_Главного_Окна_Программы"); bool r=false; if(hwnd) { PostMessage(hwnd,WM_CLOSE,0,0); HWND hwnddlg=FindWindow(NULL,"Внимание!"); // HWND hwnddlg=GetNextWindow(hwnd,GW_HWNDNEXT); while (hwnddlg) { HWND CurHWND=GetWindow(hwnddlg,GW_CHILD); char WndText[150]; char WndClass[10]; while (CurHWND) { GetWindowText(CurHWND,WndText,150); GetClassName(CurHWND,WndClass,10); if (!strcmpi(WndClass,"Button")) if (!strcmpi(WndText,"&Да")) { r=SetActiveWindow(hwnddlg); r=PostMessage(CurHWND,BM_CLICK,0,0); break; } CurHWND=GetNextWindow(CurHWND,GW_HWNDNEXT); } hwnddlg=FindWindow(NULL,"Внимание!"); } } Этот код работает в отладчике, а когда запускаю без отладки не работает, окно "Внимание!" остаётся на экране и не закрывается. В чём дело? Заранее большое спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2005, 08:34 |
|
||
|
не работает FindWindow
|
|||
|---|---|---|---|
|
#18+
Попробуй-ка во втором случае, когда ты ищешь окно "Внимание!", использовать функцию FindWindowEх, потому как функция FindWindow ищет top-level окна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2005, 11:13 |
|
||
|
не работает FindWindow
|
|||
|---|---|---|---|
|
#18+
Проблема скорее всего в том, что закрываемая программа показывает предупреждающее окно не сразу как получает команду на закрытие а с некоторой задержкой. Сделай вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2005, 18:22 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33155936&tid=2033057]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 350ms |

| 0 / 0 |
