问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何通过程序实现资源管理器的刷新功能

发布网友 发布时间:2022-04-30 04:14

我来回答

1个回答

热心网友 时间:2023-10-11 20:04

一 最简单的办法
1.进入主键〔HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Update〕。
2.将二进制值“UpdateMode”改为“00 00 00 00”。

二 编程实现
用SHDocVw::IShellWindowsPtr来实现。
简单的核心代码:

class CAutoRefreshDlg : public CDialog
{
...........
CListCtrlm_ctrlIE;
SHDocVw::IShellWindowsPtr m_spSHWinds;
...........
};

BOOL CAutoRefreshDlg::OnInitDialog()
{
CoInitialize(NULL);
...............
if (m_spSHWinds == NULL){
if (m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows)) != S_OK){
MessageBox("Failed");
CoUninitialize();
EndDialog(1);
}
}

m_ctrlIE.SetExtendedStyle(LVS_EX_CHECKBOXES|LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_ctrlIE.InsertColumn(0, "IE", LVCFMT_LEFT, 500, -1);
OnButtonRefresh();

m_uTimerRefresh = SetTimer(1, m_uFreq*1000, NULL);
return TRUE; // return TRUE unless you set the focus to a control
}
void CAutoRefreshDlg::OnButtonRefresh()
{
// TODO: Add your control notification handler code here
int n = m_ctrlIE.GetItemCount();//GetCount();

for (int i = 0; i < n; i ++){
IWebBrowser2 *pBrowser = (IWebBrowser2 *)m_ctrlIE.GetItemData(i);
if (pBrowser){
pBrowser->Release();
}
}

m_ctrlIE.DeleteAllItems();

if (m_spSHWinds){
int n = m_spSHWinds->GetCount();
for (int i = 0; i < n; i++){
_variant_t v = (long)i;
IDispatchPtr spDisp = m_spSHWinds->Item(v);

SHDocVw::IWebBrowser2Ptr spBrowser(spDisp);
if (spBrowser){
_bstr_t bsName = spBrowser->GetLocationName();
int nPos = m_ctrlIE.InsertItem(0, bsName);
spBrowser->AddRef();
void * pData = spBrowser;
m_ctrlIE.SetItemData(nPos, (DWORD)(pData));
}
}
}

}

void CAutoRefreshDlg::DoClose()
{
int n = m_ctrlIE.GetItemCount();//GetCount();

for (int i = 0; i < n; i ++){
IWebBrowser2 *pBrowser = (IWebBrowser2 *)m_ctrlIE.GetItemData(i);
if (pBrowser){
pBrowser->Release();
}
}

m_ctrlIE.DeleteAllItems();

if (m_spSHWinds){
m_spSHWinds.Release();
m_spSHWinds = 0;
}
CoUninitialize();
EndDialog(0);
}

void CAutoRefreshDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if (nIDEvent == 1){
int n = m_ctrlIE.GetItemCount();
for (int i = 0; i < n; i++){
if (m_ctrlIE.GetCheck(i)){
IWebBrowser2 *pBrowser = (IWebBrowser2 *)m_ctrlIE.GetItemData(i);
if (pBrowser){
pBrowser->Refresh();
}
}
}
}

CDialog::OnTimer(nIDEvent);
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
双人沙发的一般尺寸是多少 双人沙发的标准尺寸是多少 双人沙发的常规尺寸是多少 一般的双人沙发的尺寸是多少 2人沙发标准尺寸是多少 面对此等形势与挑战,我们又该如何应对? 大量国央企数科公司成立,传统软件公司如何应对 造梦西游OL 造梦西游ol 80级以后该干嘛? 西铁城走心机程序更新失败 房子满二是指多久 在程序中添加地图,根据读取的坐标信息在读图上实现定位功能,怎样实现啊?求高手帮忙 大家看下我这个主板怎么调U盘第一启动项 我要用U盘启动坐系统 怎么弄 就象光驱一样 开机就能做 QSYS(NIOS)里添加的元件的reset,是高有效还是低有效? 你的答案错了 auto refresh plus怎么设置自动刷新 照明弹能照明多久 昆明哪里有卖三雄极光照明的? 无锡三雄极光的总代理是哪家啊? 请提供一个简单的DELPHI查询数据库的实例,包括所有操作 什么是即景作文啊? 即景,作文怎么写? 什么是即景作文 即景作文提纲怎么写? 课间即景作文? 即景作文 写作技巧 求有用 尽可能多 对写作越有帮助越好 并说说 那些是好的即景题材 盐城市区有哪些好玩的地方 什么即景作文写什么即景才好写又容易写的好(急需) 盐城哪个地方最好玩? 五年级即景作文怎么教 部编版五上第七单元作文指导: ___即景 请高手翻译一段英文!(最好不要用翻译软件)多谢各位! 怎么刷新DRAM 请问如果导入两个access到一个Excel,10秒刷新一次。VBA代码该怎么写? 怎样保持积极乐观的生活态度?有时很迷茫 怎样保持积极乐观的生活态度?有时很迷茫 宽带1M、2M是什么意思 宽带1M、2M是什么意思 换了系统电脑输入法就不见了,该怎么 为什么用360手机助手往我手机内存卡里传文件会出现这个情况 为什么用360手机助手往我手机内存卡里传文件会出现这个情况 求这视频里的背景音乐是什么?http:&#47;&#47;zhidao.baidu.com&#47;new?word=&ie=GBK&autorefresh=1374493296155 齐达内和普拉蒂尼比起来,谁是法国足球第一人? 目前法国队的队长是谁? 法国现任国家队足球队队长 98年世界杯法国国家队的队长是谁麻烦告诉我 06世界杯法国队队长用头撞人队长叫什么名 我的u盘在有的电脑上可以识别,在有的电脑上不能识别,,怎么办? 法国国家足球队队长谁? delphi中用adoquery连接数据库进行查询,查询一个表中满足条件的两列的数据,怎么赋值给变量 法国队队长是谁