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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2011, 09:13   #1
malor
Форумчанин
 
Регистрация: 23.05.2007
Сообщений: 151
Вопрос Ручной запуск Explorer.exe прогой, запущенной по [HKLM]...WinLogon/Shell [ Win 7 ]

Прописал программу в параметре HKEY_LOCAL_MACHINE\SOFTWARE\Microso ft\Windows NT\CurrentVersion\Winlogon\Shell реестра.
Код:
procedure TFormRunExplorer.btKillExplorerClick(Sender: TObject);
begin
  //KillExplorer();
  WinExec('TaskKill /F /IM explorer* /T', SW_HIDE);
end;


procedure TFormRunExplorer.btRunExplorerClick(Sender: TObject);
var
  FileName : String;
  SUInfo : TStartUpInfo;
  ProcInfo : TProcessInformation;
begin

  ZeroMemory(@SUInfo, SizeOf(TStartUpInfo));
  with SUInfo do
  begin
   cb := SizeOf(TStartUpInfo);
   dwFlags := STARTF_USESHOWWINDOW;
   wShowWindow := SW_SHOWNORMAL;
  end;

  FileName := 'Explorer.exe';
  CreateProcess(PChar('C:\\Windows\\' + FileName), nil, nil, nil, False, 0, nil, nil, SUInfo, ProcInfo);

end;
Когда она запустилась - нажал кнопку Запуск Explorer - происходит открытие Проводника. Почему ?



Если запускать эту программку обычным путем, сидя в винде, то нажатия на кнопки уничтожают explorer и воссоздают.
Что ж так не происходит при запуске программы при загрузке Windows...
Windows 7 32-bit.
Вложения
Тип файла: zip RunExplorerProject_2.zip (85.7 Кб, 18 просмотров)
malor вне форума Ответить с цитированием
Старый 09.11.2011, 09:26   #2
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Лучше сделай так:
Цитата:
В реестре в ключе
HKEY_LOCAL_MACHINE\SOFTWARE\Microso ft\Windows NT\CurrentVersion\Winlogon\Shell
пропиши так:
Explore.exe c:\путь\твоя прога
Будет запускаться и Explorer и твоя прога, проверенно работает.

Последний раз редактировалось Aliens_wolfs; 09.11.2011 в 09:33.
Aliens_wolfs вне форума Ответить с цитированием
Старый 09.11.2011, 09:32   #3
malor
Форумчанин
 
Регистрация: 23.05.2007
Сообщений: 151
Вопрос

Aw>> Будет запускаться и Explorer и твоя прога

Но мне не нужно. чтобы Explorer запускался! Этим хочу управлять самостоятельно.
malor вне форума Ответить с цитированием
Старый 09.11.2011, 09:35   #4
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

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

Можно просто Explorer запустить
Код:
Так:
пропиши в проекте в uses ShellApi;
ShellExecute(0,'open',Pchar('Explorer.exe'), nil, nil, SW_SHOWNORMAL);
или так:
winexec(Pchar('Explorer.exe'), SW_SHOWNORMAL);
Эти способы работают, у меня оболочка загружается нормально

Последний раз редактировалось Aliens_wolfs; 09.11.2011 в 10:53.
Aliens_wolfs вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка Winlogon.exe QWERT1988 Компьютерное железо 3 18.08.2011 16:13
Запуск explorer.exe niki2012 Общие вопросы Delphi 20 13.01.2011 19:35
Запуск программы как Shell NiXo Общие вопросы Delphi 3 01.11.2009 17:08
Запуск Load.dll (бывшая Load.exe) в дереве проц-ов, Как запустить прогой на C# .dll-ку kapustin Общие вопросы .NET 10 23.09.2009 22:20
Отследить explorer и winlogon artemavd Общие вопросы Delphi 8 21.09.2009 10:10