主题:  用winapi调用控制面板(cpl)应用!(转载)

燕云

职务:普通成员
等级:2
金币:10.0
发贴:600
注册:2001/5/12 1:31:32
#12001/12/25 13:39:42
主题:VB启动控制面板大全
发信人: liudfx()
整理人: cobe(2000-08-26 07:09:37), 站内信件
VB启动控制面板大全
控制面板
模块: control.exe
命令: rundll32.exe shell32.dll,Control_RunDLL
结果: 显示控制面板窗口。
例子:
Dim x
x = Shell("rundll32.exe shell32.dll,Control_RunDLL")

辅助选项
模块: access.cpl
命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,5
结果: 显示辅助选项/常规。

命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,1
结果: 显示辅助选项/键盘。

命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,2
结果: 显示辅助选项/声音。

命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,3
结果: 显示辅助选项/显示。

命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,4
结果: 显示辅助选项/鼠标。

添加新硬件
模块: sysdm.cpl
命令:rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1

增加新的打印机
模块:shell32.dll
命令:rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter

添加/删除程序
模块:appwiz.cpl
命令:rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1
结果:显示安装/卸载。

命令:rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1
结果:显示安装/卸载。

命令:rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,2
结果:显示Windows 安装。

命令:rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,3
结果:显示启动盘。

复制磁盘
模块:diskcopy.dll
命令:rundll32.exe diskcopy.dll,DiskCopyRunDll

时间/日期
模块: timedate.cpl
命令: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0
结果: 显示设置日期/时间。

命令: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,1
结果: 显示设置时间区域。

拨号连接(DUN)
模块: rnaui.dll
命令: rundll32.exe rnaui.dll,RnaDial 连接_名称
结果: 打开指定的拨号连接。
例子:
x= Shell("rundll32.exe rnaui.dll,RnaDial " & "连接_名称", 1)

显示器
模块: desk.cpl
命令: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0
结果: 背景设置。

命令: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1
结果: 屏幕保护设置。

命令: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2
结果: 外观设置。

命令: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,3
结果: 设置窗口。

操纵杆
模块: joy.cpl
命令: rundll32.exe shell32.dll,Control_RunDLL joy.cpl

邮件/传真
模块: mlcfg32.cpl
命令: rundll32.exe shell32.dll,Control_RunDLL mlcfg32.cpl
结果: 出现 MS Exchange 属性设置。

邮局设置
模块: wgpocpl.cpl
命令: rundll32.exe shell32.dll,Control_RunDLL wgpocpl.cpl
结果: 显示 MS Postoffice Workgroup Admin 设置。

主设置
模块: main.cpl
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @0
结果: 显示鼠标属性。

命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1
结果: 显示键盘/速度属性。

命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,,1
结果: 显示键盘/语言属性。

命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,,2
结果: 显示键盘/常规属性。

命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @2
结果: 显示打印机属性。

命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3
结果: 显示字体属性。

命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @4
结果: 显示电源管理属性。

增加 Modem
模块:modem.cpl
命令:rundll32.exe shell32.dll,Control_RunDLL modem.cpl,,add

多媒体
模块: mmsys.cpl
命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0
结果:声音。

命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,1
结果:视频。

命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,2
结果:声音 MIDI。

命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,3
结果:CD/音乐。

命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,4
结果:高级。

命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl @1
结果:声音。

网络
模块:netcpl.cpl
命令:rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl

打开方式窗口(Open With)
模块: shell32.dll
命令:rundll32.exe shell32.dll,OpenAs_RunDLL pathfilename

口令
模块: password.cpl
命令: rundll32.exe shell32.dll,Control_RunDLL password.cpl

区域设置
模块: intl.cpl
命令: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,0
结果: 区域设置。

命令: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,1
结果: 数字格式设置。

命令: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,2
结果: 金额格式设置。

命令: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,3
结果:时间格式设置。

命令: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,4
结果: 日期格式设置。

屏幕保护
模块: appwiz.cpl
命令: rundll32.exe desk.cpl,InstallScreenSaver c:winsystemFlying Wind
ows.scr
结果: 安装屏幕保护并显示预览属性页。

系统设置
模块: sysdm.cpl
命令: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,0
结果: 显示常规设置。

命令: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1
结果: 显示设备管理设置。

命令: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,2
结果: 显示硬件设置。

命令: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,3
结果: 显示性能设置。

IE4 设置
模块: inetcpl.cpl
命令: rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl

以上为B中的应用!在au中也差不多!
例如:WinExec("rundll32.exe shell32.dll,Control_RunDLL desk.cpl",1 )
调用显示设置面板


云网媒体【YZCNET.COM】云网媒体开展软件技术、互联网技术、电子商务技术、多媒体设计等服务; 其中包括 :软件开发、网站建设、手机服务、多媒体设计、 图片及演示文稿服务等;

与人同乐

职务:管理员
等级:6
金币:18.0
发贴:3928
注册:2001/3/11 15:45:42
#22001/12/25 13:53:42
好东西。这回大家可以方便地对系统属性进行调整了。



AFeng

职务:普通成员
等级:1
金币:0.0
发贴:14
注册:2001/12/24 0:16:35
#32001/12/28 0:36:55
是好东东

WinExec("rundll32.exe shell32.dll,Control_RunDLL desk.cpl",1 )

在AW中只要将 desk.cpl 换成其它的就可以了



颠狗

职务:普通成员
等级:1
金币:0.0
发贴:83
注册:2001/2/26 15:54:33
#42002/1/6 23:40:25
纠正
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,1
结果: 显示键盘/语言属性



AFeng

职务:普通成员
等级:1
金币:0.0
发贴:14
注册:2001/12/24 0:16:35
#52002/1/12 15:32:07
楼上的朋友:我再试过了一次,是可以的,用的是WINAPI,在AW中计算图标中填上:
WinExec("rundll32.exe shell32.dll,Control_RunDLL desk.cpl",1)
结果:显示了显示器属性,子选项卡默认为第一个

WinExec("rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2",1)
结果:显示了显示器属性,子选项卡为第3个 (从0开始算起的哟)

在AW中,是用了WINAPI中的WinExec,格式如下:
WinExec( LPCSTR lpCmdLine, UINT uCmdShow )
LPCSTR lpCmdLine 就是一个命令行参数,也就可以是文件名再加上参数了
UINT uCmdShow 指定Window应用程序窗口的显示方式
取值为1,激活并正常显示
取值为2,激活并最小化显示
取值为3,激活并最大化显示
例如:WinExec("rundll32.exe shell32.dll,Control_RunDLL",3)
结果:直接最大化显示控制面板

以上在AW6,WIN2000运行OK,试试在98走一下吧,我记得以前帮某个学校做课件时在98调用过是行的.

大家可以查找一下*.cpl文件的,有许多

楼上朋友所写的"rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,1 "
我查了下以前的资料,说有些像键盘,打印机,字体,输入法的一些功能是没有相应的子功能,可以这样调用:
WinExec("rundll32.exe shell32.dll,Control_RunDLL main.cpl @1",1) 键盘
WinExec("rundll32.exe shell32.dll,Control_RunDLL main.cpl @2",1) 打印机
WinExec("rundll32.exe shell32.dll,Control_RunDLL main.cpl @3",1) 字体
WinExec("rundll32.exe shell32.dll,Control_RunDLL main.cpl @4",1) 输入法
但我在WIN2000试了一下,好像不行(不知与我机子有没有关系,是不是2000和98不一样?),我这里没有98,看各位朋友在其它环境试一下,告诉一下结果啦.



颠狗

职务:普通成员
等级:1
金币:0.0
发贴:83
注册:2001/2/26 15:54:33
#62002/1/13 15:44:44
AFeng你理解错了,我纠正的是skcyh的帖子。。。
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,1
结果: 显示键盘/语言属性

自己对比一下



AFeng

职务:普通成员
等级:1
金币:0.0
发贴:14
注册:2001/12/24 0:16:35
#72002/1/13 23:42:09
颠狗朋友,不好意思.原来如此 ;)



燕云

职务:普通成员
等级:2
金币:10.0
发贴:600
注册:2001/5/12 1:31:32
#82002/1/14 1:49:41
首先谢谢大家能修正上面的错误,方便其他的网友!
由于当时直接在vb论坛上转过来!也没看忘大家见谅!


云网媒体【YZCNET.COM】云网媒体开展软件技术、互联网技术、电子商务技术、多媒体设计等服务; 其中包括 :软件开发、网站建设、手机服务、多媒体设计、 图片及演示文稿服务等;

gangzi2002

职务:普通成员
等级:1
金币:0.0
发贴:41
注册:2002/3/2 13:16:11
#92002/3/5 11:47:26
调出打印机设置的那个好象不对哦!



困龙在天

职务:普通成员
等级:7
金币:10.0
发贴:2942
注册:2001/5/17 23:14:57
#102002/3/8 23:34:54
撤消置顶,转精华区。


[url]http://sintian.chinaccd.net[/url]