Red de conocimiento informático - Conocimiento informático - Cómo implementar la función de actualización del administrador de recursos mediante programación

Cómo implementar la función de actualización del administrador de recursos mediante programación

La forma más sencilla

1. Vaya a la clave principal [HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Update].

2. Cambie el valor binario "UpdateMode" a "00 00 00 00".

Dos implementaciones de programación

SHDocVw::IShellWindowsPtr se utiliza para implementar esta función.

Código central simple:

clase CAutoRefreshDlg: CDialog público

{

...........

CListCtrlm_ctrlIE

SHDocVw::IShellWindowsPtr m_spSHWinds

...........

}; p>

BOOL CAutoRefreshDlg::OnInitDialog()

{

CoInitialize(NULL

........... .....

if (m_spSHWinds == NULL){

if (m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows)) != S_OK){

MessageBox("Error");

CoUninitialize();

EndDialog(1); /p>

m_ctrlIE.SetExtendedStyle(LVS_EX_CHECKBOXES|LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);

m_ctrlIE.InsertColumn(0).InsertColumn(0, "IE", LVCFMT_LEFT, 500, -1); /p>

OnButtonRefresh();

m_uTimerRefresh = SetTimer(1, m_uFreq*1000, NULL);

return TRUE // Devuelve TRUE a menos que establezca el foco para los controles.

}

void CAutoRefreshDlg::OnButtonRefresh()

{

// TODO: Agregue su control aquí Código del controlador de notificaciones

int n = m_ctrlIE.GetItemCount(); //GetCount();

for (int i = 0; i lt; n; i ){

IWebBrowser2 *pBrowser = (IWebBrowser2 *)m_ctrlIE.GetItemData(i);

if (pBrowser){

pBrowser-gt(); /p>

IWebBrowser2 *pBrowser = (IWebBrowser2 *)m_ctrlIE.

}

m_ctrlIE.DeleteAllItems()

if (m_ spSHWinds){

int n = m_spSHWinds-gt; GetCount();

for (int i = 0; i lt; n; i ){

_varian

t_t v = (largo)i;

IDispatchPtr spDisp = m_spSHWinds-gt;

SHDocVw::IWebBrowser2Ptr spBrowser(spDisp); if (spBrowser){

_bstr_t bsName = spBrowser-gt; GetLocationName();

int nPos = m_ctrlIE.InsertItem(0, bsName); -gt; AddRef();

void * pData = spBrowser;

}