我想知道是否有一種方法來刷新HKLM註冊表項HKCU \ SOFTWARE \微軟\的Windows \ CurrentVersion \政策\資源管理器 - 無需重新啓動殼。更新資源管理器配置,而不重新啓動它
我希望能夠在不重新啓動瀏覽器的情況下執行此操作。有沒有已知的方法可以做到這一點?
到目前爲止,我只發現了這件事情:
RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True
它不適合我的情況下工作。
MS看起來很瘋狂,因爲MS讓Explorer無法在運行時重新讀取它的配置),但你永遠不知道。
編輯: 我試圖做的是禁用/啓用通知區域(托盤),而無需重新啓動。 該註冊表項是
軟件\微軟\的Windows \ CurrentVersion \政策\ Explorer中\
變量:NoTrayItemsDisplay
值:1/0
EDIT 2 這是源代碼應該工作,但在Vista上它不,不是爲通知區域,不是爲我的測試假人,這是在啓動菜單中的MyMusic(變量NoStartMenuMyMusic)
#include <stdio.h>
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
DWORD dwRetVal;
int lResult = SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, (WPARAM)0,
(LPARAM)"Policy",
SMTO_ABORTIFHUNG, 5000, &dwRetVal);
printf("lResult = %ld\n", lResult);
printf("dwRetVal = %ld\n", dwRetVal);
return 0;
}
我嘗試了所有理智的wparam和lparam值,但沒有成功。我從here 的代碼和老兄聲稱它的作品...
This article,但是,聲稱代碼無法正常工作。
更可笑的是gpupdate是爲了完成這項工作。
Thx。
它不是* *是瘋狂的。大多數應用程序不檢查配置文件/註冊表項是否自加載以來已被修改,甚至沒有Windows本身。讓我猜,你正在嘗試編輯網絡設置?我無法找到解決此問題的解決方法:S * + 1 * – voyager 2009-09-10 13:49:09
不,我想在運行時禁用圖標通知。 它是瘋了,因爲資源管理器不是「大多數應用程序」,它是一個怪胎殼牌:D – majkinetor 2009-09-10 15:01:47