Я использую систему VC6 в XP.Не знаю, как использовать IShellWindows :: Правильный товар
Ниже приведен мой код. Он отлично работает на моем компьютере, но на других компьютерах кажется, что 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