coreBugZJ

此 blog 已弃。

COM 编程获取墙纸路径

 1/*
 2COM 编程获取墙纸路径。
 3*/

 4
 5#include <windows.h>
 6#include <wininet.h>
 7#include <shlobj.h>
 8
 9
10int main() {
11        ::HRESULT hr;
12
13        hr = ::CoInitializeEx( NULL, ::COINIT_APARTMENTTHREADED );
14        if ( FAILED(hr) ) {
15                ::MessageBoxW( NULL, L"CoInitializeEx Failed!", L"Failed!", MB_OK );
16                return 0;
17        }

18
19        IActiveDesktop*  pIAD;
20
21        hr = ::CoCreateInstance( ::CLSID_ActiveDesktop, NULL, 
22                ::CLSCTX_INPROC_SERVER, ::IID_IActiveDesktop, (void**)&pIAD );
23        if ( FAILED(hr) ) {
24                ::MessageBoxW( NULL, L"CoCreateInstance Failed!", L"Failed!", MB_OK );
25                ::CoUninitialize();
26                return 0;
27        }

28
29        WCHAR  wallpaper[ MAX_PATH ];
30
31        hr = pIAD->GetWallpaper( wallpaper, MAX_PATH, 0 );
32        if ( FAILED(hr) ) {
33                ::MessageBoxW( NULL, L"GetWallpaper Failed!", L"Failed!", MB_OK );
34        }

35        else {
36                ::MessageBoxW( NULL, wallpaper, L"get wallpaper", MB_OK );
37        }

38
39        pIAD->Release();
40
41        ::CoUninitialize();
42        return 0;
43}

44

posted on 2013-11-18 20:53 coreBugZJ 阅读(209) 评论(0)  编辑 收藏 引用 所属分类: Windows


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理