1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 近期汇总:锁定任务栏 - 托盘图标重载 - 获取win10系统版本号

近期汇总:锁定任务栏 - 托盘图标重载 - 获取win10系统版本号

时间:2024-01-01 17:24:10

相关推荐

近期汇总:锁定任务栏 - 托盘图标重载 - 获取win10系统版本号

//1. 锁定任务栏并置灰BOOL LockTaskBar(){BOOL bSuc = FALSE;DWORD dwDisposition = REG_CREATED_NEW_KEY;HKEY hCheckKey;//勾选 锁定任务栏(不能先置灰再勾选)if (ERROR_SUCCESS == RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", 0, REG_NONE, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS | KEY_WOW64_64KEY, NULL, &hCheckKey, &dwDisposition)){DWORD dwValue = 0;if (ERROR_SUCCESS == RegSetValueExA(hCheckKey, "TaskbarSizeMove", 0, REG_DWORD, (BYTE*)&dwValue, sizeof(DWORD))){bSuc = TRUE;}}RegCloseKey(hCheckKey);HKEY hLockKey;//锁定任务栏置灰if (ERROR_SUCCESS == RegCreateKeyEx(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", 0, REG_NONE, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS | KEY_WOW64_64KEY, NULL, &hLockKey, &dwDisposition)){DWORD dwValue = 1;if (ERROR_SUCCESS == RegSetValueExA(hLockKey, "LockTaskbar", 0, REG_DWORD, (BYTE*)&dwValue, sizeof(DWORD))){bSuc = TRUE;}}RegCloseKey(hLockKey);return bSuc;}//2. 当explorer桌面进程重新启动时,重启托盘图标LRESULT MessageProc(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled){static UINT const WM_TASKBARCREATED = RegisterWindowMessage(_T("TaskbarCreated"));//桌面重启时会发送一个消息if (WM_TASKBARCREATED == uMsg)//{AddToTray();//重新添加托盘图标即可return S_OK;}...}//3. 判断系统版本,win10及以上版本不能使用GetVersionEx来获取void getSystemName() { //先判断是否为win8.1或win10 std::string vname; typedef void(__stdcall*NTPROC)(DWORD*, DWORD*, DWORD*); HINSTANCE hinst = LoadLibrary("ntdll.dll"); DWORD dwMajor, dwMinor, dwBuildNumber; NTPROC proc = (NTPROC)GetProcAddress(hinst, "RtlGetNtVersionNumbers"); proc(&dwMajor, &dwMinor, &dwBuildNumber); if (dwMajor == 6 && dwMinor == 3) //win 8.1 { vname = "Microsoft Windows 8.1"; printf_s("此电脑的版本为:%s\n", vname.c_str()); return; } if (dwMajor == 10 && dwMinor == 0) //win 10 { vname = "Microsoft Windows 10"; printf_s("此电脑的版本为:%s\n", vname.c_str()); return; } //判断win8.1以下的版本 SYSTEM_INFO info;//用SYSTEM_INFO结构判断64位AMD处理器 GetSystemInfo(&info); //调用GetSystemInfo函数填充结构 OSVERSIONINFOEX os; os.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); #pragma warning(disable:4996) if (GetVersionEx((OSVERSIONINFO *)&os)) {//6.2 win8//6.1 win7//6.0 server / vista//5.1 xp//5.0 2000}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。