Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.23;
Скачать: CL | DM;

Вниз

Как задействовать изменения?   Найти похожие ветки 

 
zsv   (2002-10-17 12:47) [0]

Ребята, моя программа изменяет в реестре названия и иконки ярлыков "Мой компьютер", "Сетевое окружение".
Можно ли без перезагрузки компьютера задействовать эти изменения?


 
Smithson ©   (2002-10-17 13:01) [1]

Достаточно перезагрузить Explorer (shell, короче). Поищи, тут это уже обсуждалось.


 
Юрий Зотов ©   (2002-10-17 14:24) [2]

> ZSV

Как Вы считаете, кто-нибудь станет пользоваться Вашей программой?

Если она меняет названия, не спрашивая юзера, то он ее точно выбросит. А если спрашивает, то зачем она вообще нужна? Эти самые названия спокойно меняются мышкой, без всяких программ.


 
zsv   (2002-10-18 07:31) [3]

Дело в том, что моей программкой пользуюсь только я :-)
Я работаю в компьютерном классе и мне нужен порядок на "Рабочих столах". Согласитесь, что возникают некоторые неудобства, когда я прошу ученика щелкнуть ярлык "Мой компьютер", а он не находит ничего даже похожего...

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

Программа запускается после загрузки Windows, делает изменения, и не хочется сразу же снова делать перезагрузку...


 
zsv   (2002-10-19 05:49) [4]

Да...
Видно, непосильно сложный это был вопрос для мастеров...


 
esu ©   (2002-10-19 07:18) [5]


> Да...
> Видно, непосильно сложный это был вопрос для мастеров...

Вероятно можно это сделать елегантно, подозреваю, что в explorerе есть такая возможность.
1. А так ищешь процесс explorerа, пришибаешь его, он естественно автоматом перегружается.
2. Мне кажется, что если поставить твою программку в HKLM/Software/Microsoft/Windows/CurrentVersion/Run то и убивать ничего не будет нужно.


 
TTCustomDelphiMaster ©   (2002-10-19 11:08) [6]

program Project1;
// Обновление рабочего стола

uses
ShlObj, ComObj, ActiveX, Windows;

const
CLSID_ActiveDesktop: TGUID = "{75048700-EF1F-11D0-9888-006097DEACF9}";

var
ActiveDesktop: IActiveDesktop;

begin
try
CoInitializeEx(nil, COINIT_APARTMENTTHREADED);
ActiveDesktop := CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
ActiveDesktop.ApplyChanges(AD_APPLY_REFRESH or AD_APPLY_FORCE);
ActiveDesktop := nil;
finally
// CoUninitialize; //Здесь почему то возникает ошибка, надо разбираться
end;

end.


 
Miker   (2002-10-21 00:32) [7]

А это не то?

SendMessage(FindWindow("Progman", "Program Manager"), WM_COMMAND, $A065, 0);


 
zsv   (2002-10-24 10:59) [8]

>Miker

Это как раз то!
Спасибо.

zsv


 
zsv   (2002-11-11 07:18) [9]

Вопрос Miker.

>Miker (21.10.02 00:32)
>А это не то?

>SendMessage(FindWindow("Progman", "Program Manager"), >WM_COMMAND, $A065, 0);

А есть то же самое, но для Windows 98?




 
Laim   (2002-11-11 20:30) [10]

Если я не ошибаюсь, то для того чтобы изменения реестра вступили в силу сразу, на послать что типа:
SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, SPI_SETNONCLIENTMETRICS, 1);


 
Diamond Cat ©   (2002-11-11 22:39) [11]

для 98
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
как в прочем и для остальных платформ


 
zsv   (2002-11-13 09:19) [12]

>SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, >SPI_SETNONCLIENTMETRICS, 1);

Это в 98-м не работает...

>Diamond Cat © (11.11.02 22:39)
>для 98
>SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
>как в прочем и для остальных платформ


А для этого, вероятно, подключается модуль?
Какой, если не секрет?
Пишет: "Незнакомая команда"...



Страницы: 1 вся ветка

Текущий архив: 2003.01.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
1-72289
shok
2003-01-15 09:34
2003.01.23
password


3-72085
Yrtimd
2002-12-28 21:36
2003.01.23
как в SQL-запросе задать условие отбора формата


6-72446
grvakh
2002-11-26 14:37
2003.01.23
Маленький вопрос по приему в soket


3-72120
Sirus
2002-12-31 07:19
2003.01.23
Как программно переименовать алиас BDE???


1-72242
AndreiR
2003-01-14 16:41
2003.01.23
Как создать полную копию объекта?