Error 2 error C2065: 'IActiveDesktop' : undeclared identifie
От: TARGRED  
Дата: 08.02.07 13:33
Оценка:
Добрый день, подскажите, пожалуйста, почему следующий код выдает ошибку

#include "stdafx.h"
#include "E:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\shlobj.h"
#include "objbase.h"
#include "iostream"

using namespace std;



int _tmain(int argc, _TCHAR* argv[])
{
    HMODULE ins;
    IActiveDesktop *pActiveDesktop;
    HRESULT hr;
    

    hr = CoCreateInstance(CLSID_ActiveDesktop,NULL, CLSCTX_INPROC_SERVER,IID_IActiveDesktop,
        (void**)&pActiveDesktop);
    cout<<hr<<endl;
    

    return 0;
}



Выдает ошибку. Error 2 error C2065: 'IActiveDesktop' : undeclared identifier
Спасибо


12.02.07 19:30: Перенесено модератором из 'C/C++' — Кодт
Re: Error 2 error C2065: 'IActiveDesktop' : undeclared ident
От: ZVlad  
Дата: 08.02.07 14:42
Оценка:
Здравствуйте, TARGRED, Вы писали:

Сделай так:

#include <stdafx.h>
#include <shlobj.h>
#include <objbase.h>
#include <iostream>
#include <comdef.h>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    CoInitialize(NULL) ;
    
    HMODULE ins;
    IActiveDesktop *pActiveDesktop;
    HRESULT hr;
    
    
    hr = CoCreateInstance(CLSID_ActiveDesktop,NULL, CLSCTX_INPROC_SERVER,IID_IActiveDesktop,
        (void**)&pActiveDesktop);
    cout<<hr<<endl;
    
    CoUninitialize();
    return 0;
}
Re: Error 2 error C2065: 'IActiveDesktop' : undeclared ident
От: Centaur Россия  
Дата: 08.02.07 16:03
Оценка: +1
Здравствуйте, TARGRED, Вы писали:

TAR>Добрый день, подскажите, пожалуйста, почему следующий код выдает ошибку


TAR>
TAR>#include "stdafx.h"
TAR>#include "E:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\shlobj.h"
TAR>


В #include нельзя использовать символ '\'.

2.8/2: If either of the characters ' or \, or either of the character sequences /* or // appears in a q-char-sequence or a h-char-sequence, or the character " appears in a h-char-sequence, the behavior is undefined.[19]

[19] Thus, sequences of characters that resemble escape sequences cause undefined behavior.

Re[2]: Error 2 error C2065: 'IActiveDesktop' : undeclared id
От: TARGRED  
Дата: 08.02.07 21:35
Оценка:
всеравно Error 1 error C2065: 'IActiveDesktop' : undeclared identifier
Я текст просто скопировал с приведенного сдесь с изменениями.
Сам файл в котором определен 'IActiveDesktop' существует и внем имеется данный интерфейс

Есть еще у кого какие мысли? Кстате на глюк не похоже, так как запускал код с испровлением на другом ПК.
Re: Error 2 error C2065: 'IActiveDesktop' : undeclared ident
От: 0x8000FFFF Россия  
Дата: 08.02.07 22:41
Оценка: +1
За подобное

#include "E:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\shlobj.h"


Убивать надо... На что даны Envirement variables и include directory в опциях проекта...
Re[3]: Error 2 error C2065: 'IActiveDesktop' : undeclared id
От: Аноним  
Дата: 09.02.07 17:07
Оценка:
Здравствуйте, TARGRED, Вы писали:

TAR>всеравно Error 1 error C2065: 'IActiveDesktop' : undeclared identifier

TAR>Я текст просто скопировал с приведенного сдесь с изменениями.
TAR>Сам файл в котором определен 'IActiveDesktop' существует и внем имеется данный интерфейс

TAR>Есть еще у кого какие мысли? Кстате на глюк не похоже, так как запускал код с испровлением на другом ПК.


У меня просто 6 студия, с подключеным Platfotm SDK от 7 студии и єтот код собирался без ошибок.
А для 8 студии действительно надо перед включением shlobj.h включить следующие файлы:


#include <windows.h>
#include <tchar.h>
#include <WININET.H>
#include <shlobj.h>


Посмотри сюда ->
http://www.rsdn.ru/Forum/Message.aspx?mid=50535&amp;only=1

Таких как твой вопрос; аналогичных вопросов и ответов на них много

В дальнейшем рекомендую пользоваться поиском по сайту, а также правильно указывать раздел, где просишь о помощи (раздел СОМ), так как это может ускорить получения ответа.
Re: От модератора
От: Кодт Россия  
Дата: 12.02.07 16:33
Оценка:
Вообще говоря, кросспостинг крайне не приветствуется.
Но раз уж и здесь, и в ветке http://www.rsdn.ru/Forum/Message.aspx?mid=2342065&amp;only=1
Автор: Пётр Седов
Дата: 08.02.07
были даны разные содержательные ответы, то пусть живёт.
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.