我有一项服务需要将URL添加到登录用户的IE缓存中
为了做到这一点,我首先使用OpenProcessToken获取用户的令牌并致电ImpersonateLoggedOnUser
我尝试使用2种方法添加网址
CommitUrlCacheEntryW(urlToEnterWithPrefix, 0, ExpireTime, LastModifiedTime, URLHISTORY_CACHE_ENTRY | NORMAL_CACHE_ENTRY, NULL, 0, NULL, NULL);
当进程在登录用户下运行时,两种方法都正常工作,但在LocalSystem下运行时失败
CommitUrlCacheEntryW文档统计信息:
WinINet不支持服务器实现。另外,它 不应该从服务中使用。对于服务器实现或 服务使用Microsoft Windows HTTP服务(WinHTTP)。
但我在WinHTTP中找不到与CommitUrlCacheEntryW
对应的任何方法我想帮助解决以下问题:
答案 0 :(得分:0)
在撤销CommitUrlCacheEntryW API之后,我发现它检查了
如果任一检查为真,则存在错误代码0x80070078
所以,我想要实现的是服务无法实现的目标