学习Com[二]
看了看MSDN里的一個關于IActiveDesktop例子:
?
// ActiveDesktopTest.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <Objbase.h>
#include <Unknwn.h>
#include <Shlobj.h>
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
??? HRESULT hr = NULL;
???
??? CoInitialize(NULL);
??? IActiveDesktop *pActiveDesktop;
??? //Create an instance of the Active Desktop
??? hr = CoCreateInstance(CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER,
??????? IID_IActiveDesktop, (void**)&pActiveDesktop);
???
??? WCHAR?? wszWallpaper [MAX_PATH];
??? if (SUCCEEDED(hr))
??? {
??????? pActiveDesktop->GetWallpaper(wszWallpaper, MAX_PATH, 0);
??????? std::wcout << L"Wallpaper path is:\n??? " << wszWallpaper << std::endl;
??? }
??? pActiveDesktop->Release();
??? CoUninitialize();
??? return 0;
}
?
在過程中同樣出現了很多人遇到的編譯不過的問題, 然后在stdafx.h 頭文件里添加:
#include <Windows.h>
#include <wininet.h>
#include <stdio.h>
?
運行結果:
轉載于:https://www.cnblogs.com/GnagWang/archive/2010/07/07/1773222.html
總結
- 上一篇: Sharepoint 2010使用手记(
- 下一篇: 【转】 android sdk setu