shell 是啥?它既不是工作表函数,也不是api函数,更不是壳牌石油。它是vba自带的函数。
但是它却神通广大,能抵n个api函数,api是应用程序接口,shell就是应用程序和系统之间的桥梁。
它的用法很简单,就是执行一个可执行文件。与开始菜单的运行功能一样。
Shell(pathname[,windowstyle])
pathname 是要执行的程序名,可能还包括目录或文件夹
Windowstyle 表示在程序运行时窗口的样式
具体的说明,请查看vba的帮助。
#基本用法
Shell("C:Program FilesWinampWinamp.exe", 1) 给出路径直接执行某个exe程序。
如果是windows的程序可以直接输入程序名,如:
Shell "explorer.exe c:", 1 打开C盘。
Shell "control.exe" 打开控制面板,甚至可以简写 Shell"control"
shell "control.exe appwiz.cpl" 打开控制面板-添加/删除程序
Shell "control.exe sysdm.cpl @1" 添加新硬件
Shell "control.exe sysdm.cpl" 系统
Shell "control.exe appwiz.cpl" 添加/删除程序
Shell "control.exe inetcpl.cpl" Internet 属性
Shell "control.exe intl.cpl" 区域设置
Shell "control.exe joy.cpl" 游戏控制器
Shell "control.exe main.cpl" 鼠标
Shell "control.exe mmsys.cpl" 多媒体
Shell "control.exe modem.cpl" 调制解调器
Shell "control.exe netcpl.cpl" 网络
Shell "control.exe Password.cpl" 密码
Shell "control.exe powercfg.cpl" 电源管理
Shell "control.exe sticpl.cpl" 扫描仪与数字像机
Shell "control.exe timedate.cpl" 日期/时间
Shell "control.exe telephon.cpl" 拔号网络
Shell "control.exe odbccp32.cpl" OBDC 数据源管理器
Shell "control.exe desk.cpl" 显示
Shell "calc.exe" 计算器
Shell "mspaint.exe" 画图
..............
shell函数本身并不强大,就像刘邦,是他手下的人厉害。
shell函数有几个帮手
1、cmd.exe
cmd能够执行几乎所有的dos命令,想想dos有多少命令把,shell都可以实现。
Shell "cmd.exe" 打开cmd窗口
Shell "cmd.exe /c copy c:.txt d:" 把c盘的1.txt文件复制到d盘。
Shell "cmd.exe /c ping 127.0.0.1" ping ip
Shell "cmd.exe /c del c:.txt" 删除1.txt
................
还有很多命令,可以在cmd窗口输入help查看。
cmd后面的/c 是啥?
/C 执行字符串指定的命令然后终断
/K 执行字符串指定的命令但保留
/S 在 /C 或 /K 后修改字符串处理(见下)
/Q 关闭回应
/D 从注册表中停用执行 AutoRun 命令(见下)
/A 使向内部管道或文件命令的输出成为 ANSI
/U 使向内部管道或文件命令的输出成为 Unicode
/T:fg 设置前景/背景颜色(详细信息,请见 COLOR /?)
/E:ON 启用命令扩展(见下) /E:OFF 停用命令扩展(见下)
/F:ON 启用文件和目录名称完成字符 (见下)
/F:OFF 停用文件和目录名称完成字符(见下)
/V:ON 将 c 作为定界符启动延缓环境变量扩展。如:
/V:ON 会允许 !var! 在执行时允许 !var! 扩展变量 var。
var 语法在输入时扩展变量,这与在一个 FOR 循环内不同。
/V:OFF 停用延缓的环境扩展。
具体的说明可以cmd窗口输入cmd /? ,然后一路回车。
2、Rundll32.exe
这个帮手不得了,功能太强了。
所谓Rundll,run就是运行,dll是动态链接库,所以他的功能就是运行那些不能作为程序
单独运行的DLL文件。Rundll32.exe则用来运行32位DLL文件,Windows 98代码夹杂着16位和32位,
所以同时具有Rundll32.exe和Rundll.exe两个程序。Windows 2000/XP都是NT内核系统,
其代码都是纯32位的,所以在这两个系统中,就没有rundll.exe这个程序。
在system32目录下,有很多dll文件,每个dll里又有很多的命令参数。
常见命令及参数:
命令: rundll32.exe shell32.dll,Control_RunDLL
功能: 显示控制面板
命令: 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
功能: 显示“控制面板-辅助选项-鼠标”选项窗口
命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,5
功能: 显示“控制面板-辅助选项-传统”选项窗口
命令: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1
功能: 执行“控制面板-添加新硬件”向导。
命令: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter
功能: 执行“控制面板-添加新打印机”向导。
命令: 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
功能: 显示 “控制面板-添加/删除程序-启动盘” 面板。
命令: rundll32.exe syncui.dll,Briefcase_Create
功能: 在桌面上建立一个新的“我的公文包”。
命令: rundll32.exe diskcopy.dll,DiskCopyRunDll
功能: 显示复制软盘窗口
命令: rundll32.exe apwiz.cpl,NewLinkHere %1
功能: 显示“建立快捷方式”的对话框,所建立的快捷方式的位置由%1参数决定。
命令: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0
功能: 显示“日期与时间”选项窗口。
命令: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,1
功能: 显示“时区”选项窗口。
命令: rundll32.exe rnaui.dll,RnaDial [某个拨号连接的名称]
功能: 显示某个拨号连接的拨号窗口。如果已经拨号连接,则显示目前的连接状态的窗口。
命令: rundll32.exe rnaui.dll,RnaWizard
功能: 显示“新建拨号连接”向导的窗口。
命令: 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
功能: 显示显示“显示属性-属性”选项窗口。
命令: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL FontsFolder
功能: 显示Windows的“字体”文件夹。
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3
功能: 同样是显示Windows的“字体”文件夹。
命令: rundll32.exe shell32.dll,SHformatDrive
功能: 显示格式化软盘对话框。
命令: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,0
功能: 显示“控制面板-游戏控制器-一般”选项窗口。
命令: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,1
功能: 显示“控制面板-游戏控制器-进阶”选项窗口。
命令: rundll32.exe mshtml.dll,PrintHTML (HTML文档)
功能: 列印HTML文档。
命令: rundll32.exe shell32.dll,Control_RunDLL mlcfg32.cpl
功能: 显示Microsoft Exchange一般选项窗口。
命令: 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 @2
功能: 显示Windows“打印机”文件夹。
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3
功能: 显示Windows“字体”文件夹。
命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl @4
功能: 显示“控制面板-输入法属性-输入法”选项窗口。
命令: rundll32.exe shell32.dll,Control_RunDLL modem.cpl,,add
功能: 执行“添加新调制解调器”向导。
命令: 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
功能: 显示“控制面板-声音”选项窗口。
命令: rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl
功能: 显示“控制面板-网络”选项窗口。
命令: rundll32.exe shell32.dll,Control_RunDLL odbccp32.cpl
功能: 显示ODBC32资料管理选项窗口。
命令: rundll32.exe shell32.dll,OpenAs_RunDLL {drive:pathilename}
功能: 显示指定文件(drive:pathilename)的“打开方式”对话框。
命令: rundll32.exe shell32.dll,Control_RunDLL password.cpl
功能: 显示“控制面板-密码”选项窗口。
命令: rundll32.exe shell32.dll,Control_RunDLL powercfg.cpl
功能: 显示“控制面板-电源管理属性”选项窗口。
命令: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL PrintersFolder
功能: 显示Windows“打印机”。(同rundll32.exe shell32.dll,Control_RunDLL main.cpl @2)
命令: 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
功能: 显示“控制面板-区域设置属性-日期”选项窗口。
命令: rundll32.exe desk.cpl,InstallScreenSaver [屏幕保护文件名]
功能: 将指定的屏幕保护文件设置为Windows的屏保,并显示屏幕保护属性窗口。
命令: 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
功能: 显示“控制面板-系统属性-性能”属性窗口。
命令: rundll32.exe user.exe,restartwindows
功能: 强行关闭所有程式并重启机器。
命令: rundll32.exe user.exe,exitwindows
功能: 强行关闭所有程式并关机。
命令: rundll32.exe shell32.dll,Control_RunDLL telephon.cpl
功能: 显示“拨号属性”选项窗口
命令: rundll32.exe shell32.dll,Control_RunDLL themes.cpl
功能: 显示“桌面主旨”选项面板
“。。。。。。。。。
还有很多,光shell32.dll里就有好几百个参数,到system32目录下看看有多少dll,你会疯的,呵呵。
是不是觉得微软太BT了,哈哈,盖茨可不是盖的,要不人家咋成首富捏!
是不是想知道这些参数从哪里看呢?别集,往下看。
下面隆重为大家推荐一个相当牛×的软件——eXeScope,相信有不少人都用过他把。
这个软件很小,只有500k,但是功能却非常强大,能在没有资源文件的情况下分析、显示不同的信息,
重写可执行文件的资源,包括(EXE,DLL,OCX)等,享有”软件手术刀“的美名。
他的用途说上三天三夜也说不完,下面我就简单为大家介绍一下,你可以到网上搜索更多的内容。
第一大功能:汉化软件
不可思议把,是不是觉得汉化软件是很高深的东西,区区一个小软件居然能办到?是的,我也没办法。
第二大功能:自定义软件
大部分的软件,你都可以用eXeScope来自定义,包括windows的所有软件,如IE等。
如果你觉得软件的某个菜单、图标、快捷键不爽,你都可以自己改,可以改的面目全非,极具个性化。
你可以把QQ的等级改成50个太阳(只能自己看),呵呵。你可以把企鹅换成鸡、鸭甚至猪头。
看啥不爽你就改啥!我的软件我作主!
第三大功能:处理dll、ocx等文件
你可以直接用eXeScope打开dll或ocx文件,并对其进行修改。
小伙伴,大家一起学习Excel VBA知识,一起进步。同时欢迎大家帮忙转发并关注,谢谢大家的支持!
本页共212段,7819个字符,13400 Byte(字节)