Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Закрыть приложение !


Страницы:   1 2

SPIRIT ©   (2004-01-29 08:13:00) 

вот таким образом я полочая список запущенных приложений ... а как их всех закрыть ?


procedure TForm1.Button1Click(Sender: TObject);
VAR  Wnd : hWnd;  
buff: ARRAY [0..127] OF Char;
begin  
ListBox1.Clear;  
Wnd := GetWindow(Handle, gw_HWndFirst);  
WHILE Wnd <> 0 DO
BEGIN {Не показываем:}  
IF (Wnd <> Application.Handle)
AND {-Собственное окно}      IsWindowVisible(Wnd)
AND {-Невидимые окна}      (GetWindow(Wnd, gw_Owner) = 0)
AND {-Дочернии окна}      (GetWindowText(Wnd, buff, sizeof(buff)) <> 0) {-Окна без заголовков}  
THEN
BEGIN    
GetWindowText(Wnd, buff, sizeof(buff));    
ListBox1.Items.Add(StrPas(buff));  
END;  
Wnd := GetWindow(Wnd, gw_hWndNext);  
END;  
ListBox1.ItemIndex := 0;
end;


Alexander666   (2004-01-30 11:11:00) [1]

DVM, извиняюсь за невнимательность.


YuRock   (2004-01-30 10:19:00) [2]

> SPIRIT

А не проще ли просто не запускать Explorer, а запускать вообще только одну нужную прогу?


DVM   (2004-01-30 09:15:00) [3]


> А вот и бывает! Тем более, что ведь можно винт-то делить
> на разделы. Потому у меня на одном диске WinNT а на втором
> Win9x - и ве работает.

Почитайте выше, речь идет о компьютере в учебном заведении. Ваш компьютер здесь ни при чем.


SPIRIT   (2004-01-30 06:28:00) [4]

Конечно поломать прогу сможет не каждый... но кто очень захочет обязательно сможет . Вопрос только в том, сможет ли он после этого начать тестирование, ведь на серваке выдается 15 минут чтобы человек приступил к экзамену... иначе придеться опять идти к админу и просить разрешить тестирование... а тот наверняка призадумается, почему 15 мин. чел не мог нажать кнопку "начать тест".


Alexander666   (2004-01-30 03:04:00) [5]


> DVM ©   (29.01.04 18:51) [16]

А вот и бывает! Тем более, что ведь можно винт-то делить на разделы. Потому у меня на одном диске WinNT а на втором Win9x - и ве работает.


Alexis   (2004-01-29 20:00:00) [6]

2 Spirit-Так ты приведенным кодом находишь только те приложения, которые создают окна, пусть даже и скрытые.Ведь многие приложения(например снифферы) вообще без окон запускаются.Ты так не все найдешь...


DVM   (2004-01-29 18:51:00) [7]


> Делать вам нечего, сударь. Я зайду через родимый Дос сотру
> ваше пиложение с лица зе... точнее моего компа. Кстати,
> а про автозапуск не забыли?

А на твой комп они как я понял и не претендуют. Какой Дос в Win2000? Если никаких программ других нет и нет средств их запустить - ничего сделать нельзя - сиди и тестируйся.


Alexander666   (2004-01-29 18:13:00) [8]

Делать вам нечего, сударь. Я зайду через родимый Дос сотру ваше пиложение с лица зе... точнее моего компа. Кстати, а про автозапуск не забыли?


SPIRIT   (2004-01-29 14:40:00) [9]

Я ее и имел в виду
SetWindowLong(FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil), GWL_ID, -1);


Vit@ly   (2004-01-29 14:29:00) [10]

> SPIRIT ©
Кнопку отключить не проблема, я спрашивал о клавише "Windows". Продвинутые юзеры о ней помнят


SPIRIT   (2004-01-29 14:26:00) [11]

Зачем ? ... у меня итак проще не бывает .. голый рабочий стол ... кнопку ПУСК тоже отключил ... обычный юзер уже в тупике... Альт ТАб.. ктрл эск хм если все окна закрылись.. так зачем же блокировать их . Полноэкранный режим .. как дополнительная мера без-ти. А еще .. я даже диспетчера задач покилил ... точнее по таймеру слежу если открывается то тут же закрываю :). Вот .. еще сижу перебираю всякие комбинации клавиш с ктрлом и альтом ради прикола .. ведь должна же быть горячка вызова проводника ?? ...а может и нет ... впрочем времени на тест уходит 15 минут .. вряд ли кто то будет тратить это драгоценное время на взлом программы.
Блин. если не трудно помогите "веселые клавиши" вааще все отрубить


Digitman   (2004-01-29 14:04:00) [12]


> SPIRIT ©   (29.01.04 13:58) [9]


ну а почему не поступить проще ?

1) запретить "веселые" комбинации alt-tab, ctrl-esc и пр.
2) убрать с глаз долой Taskbar
3) сделать окно нужного приложения модальным в рамках системы в целом
4) в конце-концов плюс ко всему сделать еще полноэкранный режим приложения

?


Vit@ly   (2004-01-29 14:03:00) [13]

А каким образом решается проблема клавиши "Windows"?
Куда ее спрятать?


SPIRIT   (2004-01-29 13:58:00) [14]

Проводиться тестирование .. да .. и перед началом запускается прога короая убирает иконки рабочего стола, скрывает панель задач и закрывает все окна открытые... чтобы ничего не отвлекало.. рабочий стол и окно тестирования ....


Digitman   (2004-01-29 13:49:00) [15]

просто из любопытства .. скажи, а зачем это понадобилось вообще ? чем м.б. вызвана необходимость закрывать то, что открыл не ты собственноручно ?


SPIRIT   (2004-01-29 13:41:00) [16]

кроме десктопа


SPIRIT   (2004-01-29 13:40:00) [17]

explorer на WM_QUIT вообще забивает... а а после VW_CLOSE приложения спрашивают сохранить ли изменения ? ....  В идеале хотелось, чтобы закрывалось все и без предупреждений


Digitman   (2004-01-29 13:22:00) [18]


> CMeX ©   (29.01.04 13:08) [3]



> PostMessage работает только со своим приложением


эт ты где вычитал такое ?


> SPIRIT ©   (29.01.04 09:04) [1]
> закрывает все кроме окон эксплорера...


с чего ты вообще взял, что посылка WM_CLOSE есть 100%-но документированный способ закрыть любое GUI-приложение ?
каждое приложение вольно реагировать на WM_CLOSE по-своему - одно действует ожидаемым тобой образом, другое же попросту плюет на него с высокой колокольни, пока штатно не завершатся все его трэды .. к тому, думаю, попытка закрыть  таким образом экз-р эксплорера, реализующего польз.интерфейс для дисктопа, будет заведомо бестолковой


Игорь Шевченко   (2004-01-29 13:18:00) [19]

CMeX ©   (29.01.04 13:08)


> т.к PostMessage работает только со своим приложением...


О сколько нам открытий чудных...

---
LMD


CMeX   (2004-01-29 13:08:00) [20]

Не PostMessage, a SendMessage, т.к PostMessage работает только со своим приложением...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо