一、声明API函数'取得系统路径
Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long二、编码  Dim sSysDir As String, lDirLen As Long
  Dim lErrorCode As Long
  
  '取得Windows系统目录(System目录)的完整路径名
  sSysDir = String(255, Chr(0))
  lDirLen = GetSystemDirectory(sSysDir, 255)
  sSysDir = Left(sSysDir, lDirLen)
  
  '调用ODBC数据源管理器
  On Error Resume Next
  lErrorCode = Shell(sSysDir & "\odbcad32.exe", vbNormalFocus)  If lErrorCode = 0 Then
    MsgBox "找不到ODBC数据源管理器!", vbOKOnly, "新建数据源"
  End If

解决方案 »

  1.   

    转载:在Visual Basic中使用Rundll32.exe和Rundll.exe                                    作者:Pasic 
      常用Windows9x的朋友一定对Rundll32.exe和Rundll.exe这两个文件不会陌生吧,不过,由于这两个程序的功能原先只限于在微软内部使用,因而真正知道如何使用它们的朋友想必不多。那么好,如果你还不清楚的话,那么就让我来告诉你吧。  首先,请你做个小实验(请事先保存好你正在运行的程序的结果,否则...):点击“开始-程序-Ms-Dos方式”,进入Dos窗口,然后键入"rundll32.exe user.exe,restartwindows",再按下回车键,这时你将看到,机器被重启了!怎么样,是不是很有趣?  当然,Rundll的功能绝不仅仅是重启你的机器。其实,Rundll者,顾名思义,运行Dll也,它的功能就是以命令行的方式调用Windows的动态链接库,Rundll32.exe与Rundll.exe的区别就在于前者是调用32位的链接库,而后者是运用于16位的链接库,它们的命令格式是:  RUNDLL.EXE ,<入口点>,<调用参数>  这里要注意三点:1.Dll文件名中不能含有空格,比如该文件位于c:\Program Files\目录,你要把这个路径改成c:\Progra~1\;2.Dll文件名与Dll入口点间的逗号不能少,否则程序将出错并且不会给出任何信息!3.这是最重要的一点:Rundll不能用来调用含返回值参数的Dll,例如Win32API中的GetUserName(),GetTextFace()等。在Visual Basic中,提供了一条执行外部程序的指令Shell,格式为:  Shell “命令行”  如果能配合Rundll32.exe用好Shell指令,会使您的VB程序拥有用其他方法难以甚至无法实现的效果:仍以重启为例,传统的方法需要你在VB工程中先建立一个模块,然后写入WinAPI的声明,最后才能在程序中调用。而现在只需一句:   Shell “rundll32.exe user.exe,restartwindows”就搞定了!是不是方便多了?  实际上,Rundll32.exe在调用各种Windows控制面板和系统选项方面有着独特的优势。下面,我就将本人在因特网上收集的有关Rundll的指令列举如下(很有用的,能省去你很多调用Windows API的时间!!),供大家在编程中引用:  命令行: 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:\path\filename} 
      功能: 显示指定文件(drive:\path\filename)的“打开方式”对话框。  命令行: 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 
      

  2.   

    thanks to YANZ good luck to you