Board logo

标题: [文件操作] cmd环境能否调用API函数 [打印本页]

作者: lingfeng    时间: 2008-10-14 23:11     标题: cmd环境能否调用API函数

批处理也属于windows 脚本 .那能否调用API函数来实现更为强大的功能呢?
作者: youxi01    时间: 2008-10-14 23:16

不能调用
作者: namejm    时间: 2008-10-14 23:22

  完全可以调用API函数,最典型的莫过于调用rundll32.exe,比如:打开控制面板,在cmd窗口或批处理中使用这个命令即可:rundll32.exe shell32.dll,Control_RunDLL。

  更多的rundll32.exe调用,可以参考这篇文章:http://tieba.baidu.com/f?kz=141703759

  1.   命令列: rundll32.exe shell32.dll,Control_RunDLL  
  2.   功能: 显示控制面板  
  3.   命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,1  
  4.   功能: 显示“控制面板-辅助选项-键盘”选项视窗  
  5.   命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,2  
  6.   功能: 显示“控制面板-辅助选项-声音”选项视窗  
  7.   命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,3  
  8.   功能: 显示“控制面板-辅助选项-显示”选项视窗  
  9.   命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,4  
  10.   功能: 显示“控制面板-辅助选项-滑鼠”选项视窗  
  11.   命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,5  
  12.   功能: 显示“控制面板-辅助选项-传统”选项视窗  
  13.   命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1  
  14.   功能: 执行“控制面板-添加新硬体”向导。  
  15.   命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter  
  16.   功能: 执行“控制面板-添加新印表机”向导。  
  17.   命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1  
  18.   功能: 显示 “控制面板-添加/删除程式-安装/卸载” 面板。  
  19.   命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,2  
  20.   功能: 显示 “控制面板-添加/删除程式-安装Windows” 面板。  
  21.   命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,3  
  22.   功能: 显示 “控制面板-添加/删除程式-启动盘” 面板。  
  23.   命令列: rundll32.exe syncui.dll,Briefcase_Create  
  24.   功能: 在桌面上建立一个新的“我的公文包”。  
  25.   命令列: rundll32.exe diskcopy.dll,DiskCopyRunDll  
  26.   功能: 显示复制软碟视窗  
  27.   命令列: rundll32.exe apwiz.cpl,NewLinkHere %1  
  28.   功能: 显示“建立快捷方式”的对话框,所建立的快捷方式的位置由%1参数决定。  
  29.   命令列: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0  
  30.   功能: 显示“日期与时间”选项视窗。  
  31.   命令列: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,1  
  32.   功能: 显示“时区”选项视窗。  
  33.   命令列: rundll32.exe rnaui.dll,RnaDial [某个拨号连接的名称]  
  34.   功能: 显示某个拨号连接的拨号视窗。如果已经拨号连接,则显示目前的连接状态的视窗。  
  35.   命令列: rundll32.exe rnaui.dll,RnaWizard  
  36.   功能: 显示“新建拨号连接”向导的视窗。  
  37.   命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0  
  38.   功能: 显示“显示属性-背景”选项视窗。  
  39.   命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1  
  40.   功能: 显示“显示属性-萤屏保护”选项视窗。  
  41.   命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2  
  42.   功能: 显示“显示属性-外观”选项视窗。  
  43.   命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,3  
  44.   功能: 显示显示“显示属性-属性”选项视窗。  
  45.   命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL FontsFolder  
  46.   功能: 显示Windows的“字体”档案夹。  
  47.   命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3  
  48.   功能: 同样是显示Windows的“字体”档案夹。  
  49.   命令列: rundll32.exe shell32.dll,SHFormatDrive  
  50.   功能: 显示格式化软碟对话框。  
  51.   命令列: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,0  
  52.   功能: 显示“控制面板-游戏控制器-一般”选项视窗。  
  53.   命令列: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,1  
  54.   功能: 显示“控制面板-游戏控制器-进阶”选项视窗。  
  55.   命令列: rundll32.exe mshtml.dll,PrintHTML (HTML文档)  
  56.   功能: 列印HTML文档。  
  57.   命令列: rundll32.exe shell32.dll,Control_RunDLL mlcfg32.cpl  
  58.   功能: 显示Microsoft Exchange一般选项视窗。  
  59.   命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @0  
  60.   功能: 显示“控制面板-滑鼠” 选项 。  
  61.   命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1  
  62.   功能: 显示 “控制面板-键盘属性-速度”选项视窗。  
  63.   命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,,1  
  64.   功能: 显示 “控制面板-键盘属性-语言”选项视窗。  
  65.   命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @2  
  66.   功能: 显示Windows“印表机”档案夹。  
  67.   命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3  
  68.   功能: 显示Windows“字体”档案夹。  
  69.   命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @4  
  70.   功能: 显示“控制面板-输入法属性-输入法”选项视窗。  
  71.   命令列: rundll32.exe shell32.dll,Control_RunDLL modem.cpl,,add  
  72.   功能: 执行“添加新调制解调器”向导。  
  73.   命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0  
  74.   功能: 显示“控制面板-多媒体属性-音频”属性页。  
  75.   命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,1  
  76.   功能: 显示“控制面板-多媒体属性-视频”属性页。  
  77.   命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,2  
  78.   功能: 显示“控制面板-多媒体属性-MIDI”属性页。  
  79.   命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,3  
  80.   功能: 显示“控制面板-多媒体属性-CD音乐”属性页。  
  81.   命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,4  
  82.   功能: 显示“控制面板-多媒体属性-设备”属性页。  
  83.   命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl @1  
  84.   功能: 显示“控制面板-声音”选项视窗。  
  85.   命令列: rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl  
  86.   功能: 显示“控制面板-网路”选项视窗。  
  87.   命令列: rundll32.exe shell32.dll,Control_RunDLL odbccp32.cpl  
  88.   功能: 显示ODBC32资料管理选项视窗。  
  89.   命令列: rundll32.exe shell32.dll,OpenAs_RunDLL {drive:\path\filename}  
  90.   功能: 显示指定档案(drive:\path\filename)的“打开方式”对话框。  
  91.   命令列: rundll32.exe shell32.dll,Control_RunDLL password.cpl  
  92.   功能: 显示“控制面板-密码”选项视窗。  
  93.   命令列: rundll32.exe shell32.dll,Control_RunDLL powercfg.cpl  
  94.   功能: 显示“控制面板-电源管理属性”选项视窗。  
  95.   命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL PrintersFolder  
  96.   功能: 显示Windows“印表机”档案夹。(同rundll32.exe shell32.dll,Control_RunDLL main.cpl @2)  
  97.   命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,0  
  98.   功能: 显示“控制面板-区域设置属性-区域设置”选项视窗。  
  99.   命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,1  
  100.   功能: 显示“控制面板-区域设置属性-数字”选项视窗。  
  101.   命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,2  
  102.   功能: 显示“控制面板-区域设置属性-货币”选项视窗。  
  103.   命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,3  
  104.   功能: 显示“控制面板-区域设置属性-时间”选项视窗。  
  105.   命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,4  
  106.   功能: 显示“控制面板-区域设置属性-日期”选项视窗。  
  107.   命令列: rundll32.exe desk.cpl,InstallScreenSaver [萤屏保护档案名]  
  108.   功能: 将指定的萤屏保护档案设置为Windows的屏保,并显示萤屏保护属性视窗。  
  109.   命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,0  
  110.   功能: 显示“控制面板-系统属性-传统”属性视窗。  
  111.   命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1  
  112.   功能: 显示“控制面板-系统属性-设备管理器”属性视窗。  
  113.   命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,2  
  114.   功能: 显示“控制面板-系统属性-硬体配置档案”属性视窗。  
  115.   命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,3  
  116.   功能: 显示“控制面板-系统属性-性能”属性视窗。  
  117.   命令列: rundll32.exe user.exe,restartwindows  
  118.   功能: 强行关闭所有程式并重启机器。  
  119.   命令列: rundll32.exe user.exe,exitwindows  
  120.   功能: 强行关闭所有程式并关机。  
  121.   命令列: rundll32.exe shell32.dll,Control_RunDLL telephon.cpl  
  122.   功能: 显示“拨号属性”选项视窗  
  123.   命令列: rundll32.exe shell32.dll,Control_RunDLL themes.cpl  
  124.   功能: 显示“桌面主旨”选项面板
复制代码

作者: zqz0012005    时间: 2008-10-14 23:30

从广义上来说,批处理能调用任何东西,可以把它当作万能胶水。
作者: lixiaodaoaaa    时间: 2008-10-15 08:24     标题: 回复 3楼 的帖子

调用rundll32.exe,不知道算不算api 函数
学得东西少,第一次听说,嘿嘿
namejm能反应得那么块,不错!
作者: everest79    时间: 2008-10-16 07:55

rundll32所使用的函数接口算是狭义的API,主要由于调用过程中不同于通用API的语法,类似于wmic下的别名,而且调用也有局限
作者: lingfeng    时间: 2008-10-17 22:35

谢谢各位的答复!




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2