但是這樣每次開發效率就比較低,所以還是整理下吧,加深下印象,至少後面可以在自己部落格裡就能輕鬆的找到了吧。
直接上**吧。
#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...