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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.04.2012, 23:49
Ralik Ralik вне форума
Прохожий
 
Регистрация: 11.03.2012
Сообщения: 8
Репутация: 10
По умолчанию Как сменить тему Windows, дождаться её применения и перезапустить explorer?

Тему сменить так: ShellExecute(Self.Handle, 'open', 'C:\Windows\Resources\Themes\MyTheme.theme', nil, nil, SW_SHOWNORMAL);
Убить explorer.exe так: WinExec(PANsiChar('TASKKILL /F /IM explorer.exe'), SW_HIDE);
Запустить explorer так:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  FileName : String;
  SUInfo : TStartUpInfo;
  ProcInfo : TProcessInformation;
begin
  //ShellExecute(Handle, 'open', 'explorer.exe', 'C:\Windows\system32', '', SW_SHOW);
  //WinExec(PANsiChar('TASKKILL /F /IM explorer.exe'), SW_HIDE);
  //sleep(5000);
  //ShellExecute(Handle,'open','C:\WINDOWS\Explorer.EXE',nil,nil,SW_ShowNormal);
  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, затем проверить, если explorer завершен, то запустить explorer, я где-то так понимаю , а как технически воплотить нет уже сил пытаться, помогите.

Последний раз редактировалось lmikle, 22.04.2012 в 06:05.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter