怎么打开设置页和程序页

如何打开设置页和程序页
打开设置页:

中文系统中:
  HWND hwndSetting = FindWindow(_T("Worker"), _T("设置"));
  SetForegroundWindow(hwndSetting);
   


英文系统中:
  HWND hwndSetting = FindWindow(_T("Worker"), _T("Settings"));
  SetForegroundWindow(hwndSetting);

说明:这种有个bug就是需要预先打开设置这个设置页面,而且打开后右上角的ok没掉了,点击界面后才会出现。 希望大家帮忙想一下办法。

以下方法测试没问题:


ctlpnl.exe

CreateProcess(_T("\\Windows\\ctlpnl.exe"), _T("cplmain.cpl, $Id\")……

如CreateProcess(L"\\Windows\\ctlpnl.exe", L"cplmain.cpl, 1", ...

$Id取值:
0 对比度
1 密码
2 主人信息
3 电源
4 内存
5 关于
6 背光
7 调整屏幕
8 输入
9 声音和提醒
10 删除程序
11 菜单
12 按键
13 今日
14
15 无线数据交换
16 时钟
17 配置网络适配器
18 区域设置
19 连接
20 拨号盘
21
22 证书管理
23 蓝牙
24 错误报告
25 GPS 设置
26 无线管理器
27 加密
28 由 USB 连接到 PC
29 客户反馈


Control panel applets can be started programmatically. The format of the command is:

'\windows\ctlpnl.exe cpl_filename.cpl,applet_name,applet_index,tab_index'


打开程序页:

中文系统中:
HWND hWnd = FindWindow(L"Explore",L"程序");
SetForegroundWindow(hWnd);


英文系统中:
HWND hWnd = FindWindow(L"Explore",L"Programs");
SetForegroundWindow(hWnd);

同样也是需要预先打开程序这个进程

因为系统开启时默认是不会调用设置和程序这两个的。 各位大侠有什么好方法吗?之前好象有人问过



------解决方案--------------------
UP
------解决方案--------------------
顶你个肺啊
------解决方案--------------------
再次顶你个肺啊
------解决方案--------------------
这小子不错,有前途。帮顶。。希望顶到胃出血。
------解决方案--------------------
关注
------解决方案--------------------
C/C++ code

其中
void CProcessExecute::StartExeCute(LPCTSTR lpFileName)
{
    SHELLEXECUTEINFO ShExecInfo = {0};
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = NULL;
ShExecInfo.lpFile = lpFileName;

ShExecInfo.lpParameters = L"";
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_SHOW;
ShExecInfo.hInstApp = NULL;
    ShellExecuteEx(&ShExecInfo);
}

------解决方案--------------------
进入图片与视频:

ShellExecuteEx ":MSPIMG"

:MSPIMG == pimg.exe