大家知道,用ie属性设置框清空历史记录后,再打开开始-运行对话框,可以看到已经没有记录了,不用重启机器现在,我想用程序实现这一功能,我从注册表中把运行的历史记录清空,但是,我如何才能让浏览器知道这个改变,把运行记录列表清空呢,试过
SendMessageTimeout(HWND_BROADCAST,WM_SETTINGCHANGE,wParam,lParam,SMTO_NORMAL,5000, dwReturnValue);
不管用打开开始-运行,以前的记录还在谁有好办法呢, 难吧?
SendMessageTimeout(HWND_BROADCAST,WM_SETTINGCHANGE,wParam,lParam,SMTO_NORMAL,5000, dwReturnValue);
不管用打开开始-运行,以前的记录还在谁有好办法呢, 难吧?
解决方案 »
- 急招:delphi开发人员!
- 请教个问题!
- 关于ActiveForm的问题。
- 为什么打印机没开时,带quickreport的form在就说quickreport控件找不到。。
- WebBrowser显示过慢怎么办?
- isapi+CreateOleObject 不是小瞧人,csdn上的人解决不了这个问题,中低水平免进
- 请问怎样将求和得到的数据存入变量中?使用的是SQL!
- delphi为何捕捉不到被0除的异常?(有兴趣进来看看程序吧,谢了!)
- 转载关继┯BIG 5
- 关于sql数据库复制的问题
- SPCOMM控件
- dbgrideh测试运行中,老是提示‘无法更新定位’错误。100分
procedure DelHistory;
var
lpEntryInfo: PInternetCacheEntryInfo;
hCacheDir: LongWord ;
dwEntrySize, dwLastError: LongWord;
begin
try
dwEntrySize := 0;
FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), dwEntrySize);
GetMem(lpEntryInfo, dwEntrySize);
hCacheDir := FindFirstUrlCacheEntry(nil, lpEntryInfo^, dwEntrySize);
if hCacheDir 〈〉 0 then
DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName);
FreeMem(lpEntryInfo);
repeat
dwEntrySize := 0;
FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^),
dwEntrySize);
dwLastError := GetLastError();
if dwLastError = ERROR_INSUFFICIENT_BUFFER then //如果成功
begin
GetMem(lpEntryInfo, dwEntrySize); {分配dwEntrySize字节的内存}
if FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize) then
DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName);
FreeMem(lpEntryInfo);
end;
until (dwLastError = ERROR_NO_MORE_ITEMS);
except
abort;
end;
end;
http://support.microsoft.com/kb/142298/zh-cn
http://www.pchell.com/support/editrunmrulistentries.shtml
这个试了,并不是每次都有效,好像需要清除记录后,等上一定时间,再操作才能有效。不过这个方法无法用程序来控制,让用户这么办,未免显得不太专业