就是点击后,出现ie的那个下拉对话框的记录。本来以前存储历史web页是我是有过例子的,可今天我看了myie的那个地址栏。才发觉它和ie的那个地址栏是一样的!我希望也能做成那样。这个怎么做的?除了读取注册表有没有别的办法?对了,历史记录到底在注册表的那个地方呢?谢谢!
解决方案 »
- 关于speedbutton控件的问题
- 大家看看我这样报错该怎么修改
- 高分求TServerSocket/TClientSocket程序实例
- 多IP主机中使用Indy服务端(IdTCPServer或IdUDPServer),收到客户端发来的数据,如何确定客户端是发给本机的哪个地址的?
- 好久没来了,问个简单的问题,又开始搞delphi
- 在用create方法创建窗体时显示错误,急急,!
- 中央台的评论员朱峰,诬蔑伊拉克人民的反抗斗争!我只想说他是只猪!
- 什么时候用三层构架呢?
- halt()里的参数的区别是什么?
- query能同时访问6个表么
- Delphi中SIO_UDP_CONNRESET怎么定义?
- 急:我可以获取WebBrowser的页面的某个控件并可以触发他的onclick事件,可是不知道如何触发一个图片按钮的onclick事件,望速回复
function GetUrlCacheEntryInfo(lpszUrlName: PAnsiChar;
var lpCacheEntryInfo: TInternetCacheEntryInfo;
var lpdwCacheEntryInfoBufferSize: DWORD): BOOL; stdcall;
但这种声明方式不易使用(你可以试一下),但可以改成如下声明:
function MyGetUrlCacheEntryInfo(lpszUrlName: PAnsiChar;
lpCacheEntryInfo: PInternetCacheEntryInfo;
lpdwCacheEntryInfoBufferSize: PDWORD): BOOL; stdcall; external 'wininet.dll' name 'GetUrlCacheEntryInfoA';下面是一个简单的范例,希望能对你有所帮助。procedure ShowCacheInfo;
var
dwCacheEntryInfoBufferSize: DWORD;
lpCacheEntryInfo: PInternetCacheEntryInfo;
begin
//第一次调用,返回需要的字节数在dwCacheEntryInfoBufferSize中
dwCacheEntryInfoBufferSize := 0;
MyGetUrlCacheEntryInfo('http://www.scmp.net/', lpCacheEntryInfo,
@dwCacheEntryInfoBufferSize); //由第一次调用得到的返回值,分配足够的内存空间,然后第二次调用
GetMem(lpCacheEntryInfo, dwCacheEntryInfoBufferSize);
try
//如果调用成功,返回的信息在lpCacheEntryInfo中
if MyGetUrlCacheEntryInfo('http://www.scmp.net/', lpCacheEntryInfo,
@dwCacheEntryInfoBufferSize) then
begin
//lpCacheEntryInfo是指向INTERNET_CACHE_ENTRY_INFOA结构的指针,参考WinInet
//单元内INTERNET_CACHE_ENTRY_INFOA结构的定义,那里面有你想要的一切,下面将
//显示点击次数。
ShowMessage(IntToStr(lpCacheEntryInfo.dwHitRate));
end;
finally
freemem(lpCacheEntryInfo);
end;
end;