Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2007, 16:08   #1
Kashp
Форумчанин
 
Регистрация: 05.08.2007
Сообщений: 225
По умолчанию Уничтожение окна

Здравствуйте. Имеется код:
Код:
var
 h: hWnd;

begin

 h:=FindWindow(nil, 'Документ1 - Microsoft Word');
 if h=0 then exit;
 SendMessage(h, WM_DESTROY, 0,0);

end;
Так вот, сия штука уничтожает окно Microsoft Word'a. Но если я вместо "Документ1-Microsoft Word" вписываю название моей папки "МОЯ", открываю эту папку и запускаю проект, то окно не закрывается, а просто зависает. Вопрос: почему с вордом все работает, а с окном папки не работает?
Kashp вне форума Ответить с цитированием
Старый 04.09.2007, 16:14   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Пробуй так :

var
h: hWnd;
begin
h:=FindWindow(nil, 'D:\');
if h=0 then exit;
CloseWindow(h);
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.09.2007, 16:30   #3
Kashp
Форумчанин
 
Регистрация: 05.08.2007
Сообщений: 225
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Пробуй так :

var
h: hWnd;
begin
h:=FindWindow(nil, 'D:\');
if h=0 then exit;
CloseWindow(h);
end;
Не работает
Kashp вне форума Ответить с цитированием
Старый 04.09.2007, 16:38   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Да у меня тоже зависает, эт я поспешил, извини.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.09.2007, 20:22   #5
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

возможно это окно не реагирует на эти сообщения (возможно это какой-то способ защиты), один выходов - использовать ShowWindow(h,SW_HIDE);
rpy3uH вне форума Ответить с цитированием
Старый 04.09.2007, 21:28   #6
Tokolist
Пользователь
 
Аватар для Tokolist
 
Регистрация: 04.09.2007
Сообщений: 19
По умолчанию

2 Kashp
Так просто не получится
Вот как я когда-то решил проблему.

Код:
var
 WndHandle: HWND;
begin
 WndHandle := FindWindow(nil, 'МОЯ');
 if WndHandle <> 0 then
   SendMessage(WndHandle, WM_SYSCOMMAND, SC_CLOSE, 0);
end;
Tokolist вне форума Ответить с цитированием
Старый 04.09.2007, 23:16   #7
Kashp
Форумчанин
 
Регистрация: 05.08.2007
Сообщений: 225
По умолчанию

Цитата:
Сообщение от Tokolist Посмотреть сообщение
2 Kashp
Так просто не получится
Вот как я когда-то решил проблему.

Код:
var
 WndHandle: HWND;
begin
 WndHandle := FindWindow(nil, 'МОЯ');
 if WndHandle <> 0 then
   SendMessage(WndHandle, WM_SYSCOMMAND, SC_CLOSE, 0);
end;
Вот это как раз то, что я и хотел Спасибо!
Kashp вне форума Ответить с цитированием
Старый 05.09.2007, 16:25   #8
Kashp
Форумчанин
 
Регистрация: 05.08.2007
Сообщений: 225
По умолчанию

А вот еще вопрос созрел. Вот если папку открывать обычным способом, то все хорошо (она закрывается). А как можно сделать, чтобы эта папка закрывалась, даже если ее открывать, например, через Total Commander?
Kashp вне форума Ответить с цитированием
Старый 05.09.2007, 16:57   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Это врядли получится.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.09.2007, 18:54   #10
Kashp
Форумчанин
 
Регистрация: 05.08.2007
Сообщений: 225
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Это врядли получится.
Эх, жаль, хотел программу-"сигнализацию" сделать
Kashp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическое уничтожение объекта mutabor Общие вопросы Delphi 6 25.06.2008 22:25
Создание/уничтожение объектов nimf Общие вопросы Delphi 10 14.04.2008 10:54
закрыть все дочерни окна, кроме главного окна Worms Общие вопросы Delphi 2 03.12.2007 22:18
Как сделать чтобы дочерние окна в MDI-приложениях были вне главного окна??? dimonchuk Общие вопросы Delphi 1 11.08.2007 12:13