Control_RunDLL
是一个私有的 shell 函数,它没有被记录。我们仍然知道它的参数,因为所有的rundll32 函数看起来都是这样的:
void CALLBACK FunctionName(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow);
这意味着它在 shell32 内部更深层次的东西可以解析命令行参数。
正如您自己发现的那样,.cpl 文件可以支持多个控制面板“小程序”:
当控制面板加载 .dll(或 .cpl)文件时,它会调用 CPlApplet 函数来获取信息,例如文件所承载的控制面板项的数量,以及有关每个项的信息。
Shell32 在“托管” .cpl 文件时只是伪装成控制面板。
第二个参数在文档中称为“对话框编号”,在经典/所有控制面板视图中由图标表示。第三个参数由小程序本身解析以响应CPL_STARTWPARMS
并且通常是在属性表对话框中指定特定选项卡的名称或编号。
连接选项卡记录为第 4 页,在 Vista 及更高版本上显示它的记录方式是
control.exe /name Microsoft.InternetOptions /page 4