Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.12.2009, 22:11
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание Как вырубить EXPLORER.EXE чтоб уростить се работу

Как выключить explorer.exe ?? а то не получаеться отключить клавишу Win
Ответить с цитированием
  #2  
Старый 30.12.2009, 23:57
Аватар для AND_REY
AND_REY AND_REY вне форума
Активный
 
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
По умолчанию

Выкл explorer:
Код:
uses
 ShellAPI;
Procedure ExpClose;
begin
 ShellExecute(0,'open','taskkill.exe','/f /im explorer.exe',nil,SW_HIDE);
end;
Ответить с цитированием
  #3  
Старый 31.12.2009, 01:27
Аватар для Ferra
Ferra Ferra вне форума
Местный
 
Регистрация: 12.03.2006
Адрес: Минск
Сообщения: 527
Репутация: 1336
По умолчанию

Ох, зря вы это затеяли. Вы хоть в курсе что большАя часть всех процессов - дочерние у эксплорер.ехе? И к чему приводит завершение этого процесса вы тоже надеюсь знаете?

лучше ловить нажатие этой клавиши через хуки (hooks) и просто напросто не передавать дальше.
__________________
Нет повести печальнее на свете, чем повесть о заклиневшем Resete.
Ответить с цитированием
  #4  
Старый 31.12.2009, 01:50
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание

Cпасибо огромное...

Последний раз редактировалось Electronic_Arts, 31.12.2009 в 01:52.
Ответить с цитированием
  #5  
Старый 31.12.2009, 02:16
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание

а как сделать чтоб результатом нажатие клавишы WIN окозалась пустатой
ну чтоб не отображался меню пуск
Ответить с цитированием
  #6  
Старый 31.12.2009, 10:38
MrBadge MrBadge вне форума
Прохожий
 
Регистрация: 30.12.2009
Сообщения: 28
Репутация: 10
По умолчанию

кстати, такой же вопрос ... решилось так :

Код:
SetWindowLong(FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil), GWL_ID, -1);

Но отключается только на Xp ... семерка и виста не реагируют ... Кто-нибудь знает, в чем дело?
Ответить с цитированием
  #7  
Старый 31.12.2009, 17:16
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание

а как пуск ключить то???
Ответить с цитированием
  #8  
Старый 31.12.2009, 17:51
MrBadge MrBadge вне форума
Прохожий
 
Регистрация: 30.12.2009
Сообщения: 28
Репутация: 10
По умолчанию

включить?) ... если да, то просто перезагрузи винду) .... однако, может, кто-нибудь знает ответ на мой вопрос?)
Ответить с цитированием
  #9  
Старый 31.12.2009, 18:06
Аватар для Ferra
Ferra Ferra вне форума
Местный
 
Регистрация: 12.03.2006
Адрес: Минск
Сообщения: 527
Репутация: 1336
По умолчанию

Цитата:
Сообщение от MrBadge
кстати, такой же вопрос ... решилось так :

Код:
SetWindowLong(FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil), GWL_ID, -1);

Но отключается только на Xp ... семерка и виста не реагируют ... Кто-нибудь знает, в чем дело?

очевидно что FindWindow не так как нужно работает, потому как неправильно класс окна указан (мб его переименовали). Но это всего лишь первая мысль. Лучше почитать в мсдэне.
__________________
Нет повести печальнее на свете, чем повесть о заклиневшем Resete.
Ответить с цитированием
  #10  
Старый 01.01.2010, 11:12
Аватар для 0nni
0nni 0nni вне форума
Начинающий
 
Регистрация: 13.12.2008
Адрес: Туапсе
Сообщения: 161
Репутация: 20
По умолчанию

Цитата:
Сообщение от Ferra
Ох, зря вы это затеяли. Вы хоть в курсе что большАя часть всех процессов - дочерние у эксплорер.ехе? И к чему приводит завершение этого процесса вы тоже надеюсь знаете?
Ровным счетом ни к чему не приведет. У многих стоят альтернативные оболочки для window (у меня BlackBox, например стоит у меня) и все прекрасно работает без explorer'a.

А если по теме, то запросы в гугл выдают кучу ссылок на тему отключения клавиши window
__________________
...сказал, и загрустил от бесспорной своей правоты
Ответить с цитированием
  #11  
Старый 01.01.2010, 14:58
Аватар для Ferra
Ferra Ferra вне форума
Местный
 
Регистрация: 12.03.2006
Адрес: Минск
Сообщения: 527
Репутация: 1336
По умолчанию

Ты не понял они ответ. Одно дело заменить родную оболочку, а совсем другое дело завершить процесс на который много чего подвешено.
__________________
Нет повести печальнее на свете, чем повесть о заклиневшем Resete.
Ответить с цитированием
  #12  
Старый 01.01.2010, 18:41
Аватар для 0nni
0nni 0nni вне форума
Начинающий
 
Регистрация: 13.12.2008
Адрес: Туапсе
Сообщения: 161
Репутация: 20
По умолчанию

Ну вот как бы пример завершения блокнота, на котором у меня "много чего подвешено".


Ничего не произошло - все живы.
__________________
...сказал, и загрустил от бесспорной своей правоты
Ответить с цитированием
  #13  
Старый 01.01.2010, 19:04
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание

Цитата:
Сообщение от MrBadge
Код:
SetWindowLong(FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil), GWL_ID, -1);
Ferra Этот процесс просто возврашает значение - коротко если открыли меню пуск то его закрываем....но в процессе есть ощибка конкретно вот в этом все дело GWL_ID задает новое значение кнопке пуск.....
а как вернуть все в норму я незнаю пока ток перезапуском explorera можно решить эту проблему

так вот - а вырубить explorer.exe реально можно так - как сказал выше AND_REY
Код:
shellexecute(0, 'open', 'taskkill.exe', '/f /im explorer.exe', nil, sw_hide);
Ответить с цитированием
  #14  
Старый 01.01.2010, 19:07
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание

Цитата:
Сообщение от Ferra
лучше ловить нажатие этой клавиши через хуки (hooks) и просто напросто не передавать дальше.
Ferra - отловили клавишу - что дальше????
Код:
begin
if (key=vk_lwin) or (key=vk_rwin) then
begin
 // как остановить действие???? чтоб не отображалась меню пуск
end;
end;
Ответить с цитированием
  #15  
Старый 01.01.2010, 22:25
Аватар для mak-karpov
mak-karpov mak-karpov вне форума
Активный
 
Регистрация: 18.09.2008
Сообщения: 235
Версия Delphi: 2010 и 7
Репутация: 1242
По умолчанию

Это не хук
__________________
Кнопка "+" - весы в правом верхнем углу сообщения...
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:27.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025