五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網 會員登陸 & 注冊

C++學習——獲取時區(qū)列表(windows) [23.08.04]

2023-08-04 23:20 作者:凜丶颯  | 我要投稿

說明:初學C++,望各位大佬批評指正,感謝萬分!歡迎大家評論區(qū)留言討論各種問題;

思路:通過訪問windows的時區(qū)注冊表信息獲?。?/p>

關鍵:這三個函數的使用:RegEnumKeyEx(),RegOpenKeyEx(),RegQueryValueEx();

#include <Windows.h>

#include <iostream>

#include <string>

#include <tchar.h>


//將wstring轉換成string??

std::string wstring2string(std::wstring wstr)

{

???? std::string result;

???? //獲取緩沖區(qū)大小,并申請空間,緩沖區(qū)大小事按字節(jié)計算的??

???? int len = WideCharToMultiByte(CP_ACP, 0, wstr.c_str(), wstr.size(), NULL, 0, NULL, NULL);

???? char* buffer = new char[len + 1];

???? //寬字節(jié)編碼轉換成多字節(jié)編碼??

???? WideCharToMultiByte(CP_ACP, 0, wstr.c_str(), wstr.size(), buffer, len, NULL, NULL);

???? buffer[len] = '\0';

???? //刪除緩沖區(qū)并返回值??

???? result.append(buffer);

???? delete[] buffer;

???? return result;

}


int main(){

???? HKEY hKey;

???? LONG result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones"), 0, KEY_READ, &hKey);

if (result != ERROR_SUCCESS){

????std::cout << "Failed to open registry key." << std::endl;

????return 1;

}


TCHAR subKeyName[256];

DWORD subKeyNameSize = 256;

DWORD index = 0;


// Redirect wcout to the file stream

// Enumerate all subkeys under the Time Zones key

while (RegEnumKeyEx(hKey, index, subKeyName, &subKeyNameSize, nullptr, nullptr, nullptr, nullptr) == ERROR_SUCCESS){

???? HKEY hSubKey;

???? // Open the subkey for reading

???? result = RegOpenKeyEx(hKey, subKeyName, 0, KEY_READ, &hSubKey);

if (result == ERROR_SUCCESS){

???? TCHAR displayName[256];

???? DWORD displayNameSize = 256;

????

???? // Read the display name of the time zone

???? result = RegQueryValueEx(hSubKey, _T("Display"), nullptr, nullptr, reinterpret_cast<LPBYTE>(displayName), &displayNameSize);

if (result == ERROR_SUCCESS){

???????? std::wcout << L"(" << subKeyName << L") " << displayName << std::endl;

???????? std::wstring output = L"(" + std::wstring(subKeyName) + L") " + displayName +L"\n";

???????? OutputDebugString(output.c_str()); // Send output to Visual Studio Output window

???? ????std::cout << wstring2string(output) << std::endl;

????????}

????????RegCloseKey(hSubKey);

????}


index++;

subKeyNameSize = 256; // Reset subKeyNameSize to its original value

????}


RegCloseKey(hKey);

return 0;

}

執(zhí)行結果如下:

windows時區(qū)列表



C++學習——獲取時區(qū)列表(windows) [23.08.04]的評論 (共 條)

分享到微博請遵守國家法律
吐鲁番市| 香河县| 广东省| 景泰县| 肇庆市| 吉木萨尔县| 鲁甸县| 砚山县| 永靖县| 温泉县| 固安县| 渑池县| 浦北县| 安顺市| 子长县| 柯坪县| 塔城市| 莫力| 体育| 高邮市| 尖扎县| 庆城县| 涿州市| 出国| 玛曲县| 措美县| 岳池县| 新丰县| 乳山市| 瑞安市| 攀枝花市| 高雄市| 会理县| 古蔺县| 鱼台县| 杭州市| 太康县| 长治市| 彭山县| 西林县| 静安区|