XP 시스템에서 VC6을 사용하고 있습니다.IShellWindows :: Item 올바르게 사용하는 방법을 모른다.
다음은 제 코드입니다. 내 컴퓨터에서 완벽하게 실행되지만 다른 컴퓨터에서는 pisw-> Item (v, & pidisp)이 S_OK와 같지 않은 것 같습니다. 지금은
IShellWindows *pisw;
if (SUCCEEDED(CoCreateInstance(CLSID_ShellWindows, NULL, CLSCTX_ALL,
IID_IShellWindows, (void**)&pisw))) {
VARIANT v;
V_VT(&v) = VT_I4;
IDispatch *pidisp;
found = FALSE;
for (V_I4(&v) = 0; !found && pisw->Item(v, &pidisp) == S_OK; V_I4(&v)++) {
IWebBrowserApp *piwba;
if (SUCCEEDED(pidisp->QueryInterface(IID_IWebBrowserApp, (void**)&piwba))) {
// blablabla....do something..
}
그래서 내가
...
IDispatch *pidisp;
hr = pisw->Item(v, &pidisp);
if (SUCCEEDED(hr))
{
for (V_I4(&v) = 0; !found ; V_I4(&v)++) {
IWebBrowserApp *piwba;
if (SUCCEEDED(pidisp->QueryInterface(IID_IWebBrowserApp, (void**)&piwba))) {
// blablabla....do something..
}
}
다음 시간의 반환 값이 1로되고 일부 코드를 변경 여기 뭐가 잘못 알아 내려고 노력하고있어 그리고 액세스를 얻을 수 "pidisp-> .."단계로 실행하면 위반 오류가 발생합니다. 누구든지 나를 도울 수 있습니까?
당신의 대답은 많이 설명합니다! 정말 고마워! – Michael