清除Run命令行?微软源代码

gooyan 2006-09-11 09:01:06
清除Run命令行?
如果
RegDeleteKey(HKEY_CURRENT_USER, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\RunMRU"));
那么Run命令行中的东西仍然存在,这时需要注销,重起或者重起Explorer,
更可笑的是MSDN中说,执行开机/关机/然后再取消,也可以。我试了,确实可以

但是微软的在任务栏右键属性\"任务栏和开始菜单属性"\清除列表却可以清除,而不需要上面的那些操作,Run命令行中的东西就没有了.

查到微软源代码中清除列表对应下面的:
win2ksrc\private\shell\explorer\cfgstart.c
const TCHAR *c_szRegMruKeysToDelete[] =
{
TEXT("Software\\Microsoft\\Internet Explorer\\TypedURLs"),
TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\RunMRU"),
TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Doc Find Spec MRU")
};
void ClearRecentDocumentsAndMRUStuff(BOOL fBroadcastChange)
{
int i;
SHAddToRecentDocs(0, NULL);

// Flush other MRUs in the registry for privacy
for (i = 0; i < ARRAYSIZE(c_szRegMruKeysToDelete); i++) {
RegDeleteKey(HKEY_CURRENT_USER, c_szRegMruKeysToDelete[i]);

if (fBroadcastChange)
SHSendMessageBroadcast(WM_SETTINGCHANGE, 0,
(LPARAM)c_szRegMruKeysToDelete[i]); //内部实现,调用SendMessageTimeOut函数
}
}

但是实际上我用程序实现获取WM_SETTINGCHANGE,获得了5个消息,另外两个是清除最近打开或保存文档位置的注册表。
搞不明白。我自己Broad Message也无法清除命令行中的东西
...全文
336 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
蒋晟 2006-09-24
  • 打赏
  • 举报
回复
http://windowssdk.msdn.microsoft.com/en-us/library/ms725497.aspx
gooyan 2006-09-18
  • 打赏
  • 举报
回复
WM_SETTINGCHANGE: flags=0x00000000, section=Software\Microsoft\Internet Explorer\TypedURLs
WM_SETTINGCHANGE: flags=0x00000000, section=Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
WM_SETTINGCHANGE: flags=0x00000000, section=Software\Microsoft\Windows\CurrentVersion\Explorer\Doc Find Spec MRU
WM_SETTINGCHANGE: flags=0x00000000, section=Software\Microsoft\Windows\CurrentVersion\Explorer\Comdlg32\OpenSaveMRU
WM_SETTINGCHANGE: flags=0x00000000, section=Software\Microsoft\Windows\CurrentVersion\Explorer\Comdlg32\LastVisitedMRU
gooyan 2006-09-18
  • 打赏
  • 举报
回复
to Jiangsheng:
您是不是想让我看那个活动桌面的?
那篇文章我以前看过了,也没什么用途。

我查了很多资料,安了一些软件,都要重新启动Explorer才行。
但是用微软的清除就不用重起阿。但是我把微软的源代码提取出来,也不好用
蒋晟 2006-09-15
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/msdnmag/issues/01/05/c/
gooyan 2006-09-13
  • 打赏
  • 举报
回复
?????????
wangk 2006-09-11
  • 打赏
  • 举报
回复
要不试试SHChangeNotify?
gooyan 2006-09-11
  • 打赏
  • 举报
回复
不行好像,这个无法广播更该消息吧

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧