windows 打开系统设置(SystemSettings.exe)c++

cpp 复制代码
#include <iostream>
#include <stdlib.h> 
#include <tchar.h>
#include <string> 
#include <windows.h> 
#include <KnownFolders.h>
#include <shlobj.h>

void shellrun1() {
	wchar_t system_buffer[MAX_PATH];
	system_buffer[0] = 0;
	::GetSystemDirectory(system_buffer, MAX_PATH);

	std::wstring sys_path(system_buffer);
	std::wstring rundll32 = sys_path + _T("\\rundll32.exe");

	std::wstring shell32dll = sys_path + _T("\\shell32.dll");

	std::wstring inetcpl = sys_path + _T("\\inetcpl.cpl,,4");

	std::wstring args(shell32dll);
	args.append(L",Control_RunDLL ");
	args.append(inetcpl);

	::ShellExecute(NULL, L"open", rundll32.c_str(), args.c_str(), NULL,
		SW_SHOWNORMAL);
}

void shellrun2(std::string url) {

	char system_buffer[MAX_PATH];
	system_buffer[0] = 0;
	::GetSystemDirectoryA(system_buffer, MAX_PATH);
	std::string sys_path(system_buffer);

	std::string escaped_url(url);
	escaped_url.insert(0, "\"");
	escaped_url += "\"";

	if (reinterpret_cast<ULONG_PTR>(ShellExecuteA(
		NULL, "open", escaped_url.c_str(), NULL,
		sys_path.c_str(), SW_SHOWNORMAL)) <= 32) {
		return;
	}

}
int main()
{
	//网络代理 只需将特定url粘贴打开即可,其他的更多参考下方微软链接
	std::string url("ms-settings:network-proxy");
	shellrun2(url);

	//相机设置
	std::string came_url("ms-settings:privacy-webcam");
	shellrun2(came_url);

	//搜索设置
	std::string search_url("ms-settings:search");
	shellrun2(search_url);

}

//打开其他设置项参考:

// https://learn.microsoft.com/en-us/windows/uwp/launch-resume/launch-settings-app#network--internet

截取部分,需要打开的项复制进去即可

效果图:

相关推荐
yunhuibin3 分钟前
无锁化编程——c++内存序使用
c++
披着羊皮不是狼10 分钟前
多用户博客系统搭建(1):表设计+登录注册接口
java·开发语言·springboot
一般社员1 小时前
Windows导入大型sql文件到mysql
windows·sql·mysql
zzzyyy5382 小时前
C++之vector容器
开发语言·c++
uotqwkn89469s4 小时前
如果Visual Studio不支持C++14,应该如何解决?
c++·ide·visual studio
xunyan62344 小时前
面向对象(上)-封装性的引入
java·开发语言
Maple_land5 小时前
Linux复习:冯·诺依曼体系下的计算机本质:存储分级与IO效率的底层逻辑
linux·运维·服务器·c++·centos
ue星空5 小时前
UE核心架构概念
网络·c++·ue5
还算善良_5 小时前
XML签名
xml·java·开发语言
梅梅绵绵冰5 小时前
xml方式实现AOP
xml·java·开发语言