上一次经过palmax的指点,使用SHGetSetSettings函数可以实现刷新,但是,该函数在Win2k下无效,据msdn中对SHGetSetSettings的介绍:“This function is available through Microsoft Windows XP Service Pack 2 (SP2) and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.”,Win2k的注册表也有相应的选项:
[code=INIFile]
Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Hidden"=dword:00000002
"ShowCompColor"=dword:00000000
"HideFileExt"=dword:00000001
"DontPrettyPath"=dword:00000000
"ShowInfoTip"=dword:00000001
"HideIcons"=dword:00000000
"MapNetDrvBtn"=dword:00000000
"WebView"=dword:00000001
"Filter"=dword:00000000
"SuperHidden"=dword:00000000
"SeparateProcess"=dword:00000000
"StartButtonBalloonTip"=dword:00000001
"StartMenuInit"=dword:00000001
[/code]求在Win2k下的实现方法。
[code=INIFile]
Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Hidden"=dword:00000002
"ShowCompColor"=dword:00000000
"HideFileExt"=dword:00000001
"DontPrettyPath"=dword:00000000
"ShowInfoTip"=dword:00000001
"HideIcons"=dword:00000000
"MapNetDrvBtn"=dword:00000000
"WebView"=dword:00000001
"Filter"=dword:00000000
"SuperHidden"=dword:00000000
"SeparateProcess"=dword:00000000
"StartButtonBalloonTip"=dword:00000001
"StartMenuInit"=dword:00000001
[/code]求在Win2k下的实现方法。
解决方案 »
- 窗口重绘一定次数后不再重绘
- 诚心请教各位,关于mfc的几个简单问题
- ado连接access2003,总是不对。看看哪里写错了。
- 再加 200 分,还是老问题。只要能解决问题,分数我全不在呼。
- 没有无缘无故的爱,也没有无缘无故的恨,免费的午餐不会长久.别了,免费的手机短信
- 什么是事件
- 工具栏怎样显示256色图标?
- Socket 通信接收到的数据不正确
- 急........excell操作取不到列的数据
- 我在api中想建立一个对话框为基础的应用程序
- DEBUG ASSERTION FAILED:dbgheap.c 1017 _block_type_is_valid(pHead->nblockUse)
- 关于DShow自带例子的问题!
bool ShowAllFilesInExplorer(bool bShowHidden/*对应[显示所有的文件和文件夹]*/, bool bShowSysProtected/*对应[显示受操作系统保护的文件]*/)
{
HKEY hKey = {0};
bool bRet = true; if (ERROR_SUCCESS == ::RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"), 0, KEY_SET_VALUE, &hKey))
{
DWORD dwShowHidden = bShowHidden ? 1 : 2;
DWORD dwShowSysProtected = bShowSysProtected ? 1 : 0; if (ERROR_SUCCESS != ::RegSetValueEx(hKey, TEXT("Hidden"), 0, REG_DWORD, (LPBYTE)&dwShowHidden, (DWORD)sizeof(dwShowHidden))
||
ERROR_SUCCESS != ::RegSetValueEx(hKey, TEXT("ShowSuperHidden"), 0, REG_DWORD, (LPBYTE)&dwShowSysProtected, (DWORD)sizeof(dwShowSysProtected)))
{
bRet = false;
} ::RegCloseKey(hKey);
}
else
{
bRet = false;
} if (bRet)
{
::SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)TEXT("ShellState"), SMTO_ABORTIFHUNG, 3000, NULL);
::SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
} return bRet;
}