Windows API 獲取系統路徑

2021-10-23 05:49:28 字數 1335 閱讀 4437

但是這樣每次開發效率就比較低,所以還是整理下吧,加深下印象,至少後面可以在自己部落格裡就能輕鬆的找到了吧。

直接上**吧。

#include "stdafx.h"

#include #include #include #include #define make_pair(id) (std::pair(id, _t(#id)))

void printspecailfolder() ;

size_t nsize = id_name_list.size();

for (size_t i = 0; i < nsize; ++i) ;

_tcscat_s(buffer, item.second);

_tcscat_s(buffer, _t("\t\t->\t\t"));

_tcscat_s(buffer, szpath);

_tcscat_s(buffer, _t("\r\n"));

::outputdebugstring(buffer);

}}}

執行結果如下:

csidl_common_desktopdirectory    ->        c:\users\public\desktop

csidl_common_documents            ->        c:\users\public\documents

上面中常用的幾個路徑標紅了,方便後面查閱方便。

第乙個是和使用者無關的路徑,一般是存放和使用者無關的資訊。

**中使用的是shgetfolderpath這個api,msdn說明如下:

還有另外乙個api也可以,不過不再推薦使用了,就是shgetspecialfolderpath這個api。

msdn說明如下:

pszpath

type:lptstr

a pointer to anull-terminated string of length max_path which will receive the path. if an error occurs or s_false is returned, this string will be empty. the returned path does not include a trailing backslash. for example, "c:\users" is returned rather than "c:\users\".

**中為了偷懶,定義了乙個巨集make_pair,是利用了c語言的巨集特性,# 能把乙個符號變成字串,免得生成std::pair的時候回重複寫一些csidl的值。

WindowsAPI獲取時間資訊

時間資訊 1.設定獲取系統時間 1 關鍵api和資料結構 systemtime資料結構 typedef struct systemtime systemtime,psystemtime,lpsystemtime api void winapi getlocaltime lpsystemtime lp...

Windows API獲取螢幕真實大小

在petzold的書中寫用getdevicecaps hdc,logpixelsx 得到螢幕dpi dot per inch 計算真實大小,但我實際操作了發現不對。在windows系統中,我得到logpixelsx為96,無論解析度怎麼調整都是96,也許是出於對文字顯示的考慮。我發現使用getdev...

windows api 控制系統音量

以下 針對window10支援,其他版本有待測試。當然如果通過系統鍵盤鉤子獲取vk volume down和vk volume up標識也是可以的,直接拋給windows系統自己去處理。另外需要注意筆記本鍵盤和外設hid鍵盤處理也是不一樣的。systemvolumn.h pragma once if...