Текущий архив: 2002.11.11;
Скачать: CL | DM;
ВнизDestroyWindow Найти похожие ветки
← →
Bukerman (2002-09-27 20:16) [0]Привет всем!
Подскажите кто-нибудь тупому, уже задолбался. Как закрыть (уничтожить) какое-либо окно программным путем.
Пробовал:
DestroyWindow(917804); - Не закрывает вообще
SendMessage(917804, WM_DESTROY, 0, 0);
SendMessage(917804, WM_NCDESTROY, 0, 0);
- то закрывает, то не закрывает, причем это относится к обычным окнам (не консольным), а на консольные (мне нужно закрывать именно консольные окна) вообще никак не влияет. Помогите кто-нибудь, думаю должен быть какой-то простой механизм. Причем можно именно варварским способом, так даже лучше.
Заранее спасибо.
← →
Suntechnic (2002-09-27 20:54) [1]WM_CLOSE
← →
Almaz (2002-09-28 00:45) [2]А откуда вы число 917804 взяли ? :)
Удачи.
← →
Ich Hasse (2002-09-28 16:49) [3]Надо найти wHandle: THandle окна и послать ему сообщение wm_destroy
SendMessage(wHandle,wm_destroy,0,0);
← →
Bukerman (2002-09-30 15:46) [4]да я ж так и делаю, 917804 - это хэндл окна в тот момент
Запускаю SendMessage(917804, WM_DESTROY, 0, 0); - 0 эмоций, причем Виндовые окна закрывает (не все), а консольные на это вообще не реагируют, есть какие-нибудб мысли еще?
← →
Толик (2002-09-30 16:44) [5]to Bukerman © (30.09.02 15:46)
Ну так кто же Handle окна константой задаёт??? Ясен пень, что SendMessage(917804, WM_DESTROY, 0, 0) то работает, то нет!!! Значения в Handle присваивает Винда, а уж запишет она туда 917804 или что-то другое - это её дело. И обижатся на неё за это не следует. Нужно использовать любую ф-ю, которая возвращает Handle окна и использовать это значение в SendMessage. Если окно создаётся через CreateWindow, то нужно запомнить то, что вернёт эта ф-я. Но в любом случае, это значение в разный момент времени м.б. РАЗНЫМ.
← →
han_malign (2002-09-30 16:59) [6]EnumWindows(...)/FindWindow(...)
...
SendMessage(...)/TerminateProcess(...)
Страницы: 1 вся ветка
Текущий архив: 2002.11.11;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.007 c