Форум: "Система";
Текущий архив: 2003.01.23;
Скачать: [xml.tar.bz2];
ВнизКак задействовать изменения? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c