您现在的位置: 中国教师站 >> 教师关注 >> 电脑技术 >> 编程技术 >> Visual Basic >> 正文

Google
VB==快速调用系统对话框(全)
作者:Siny 文章来源:中国教师站cn-teacher 点击数: 更新时间:2007-4-22 16:20:40

(作者:甘冀平 2000年12月21日 17:46)

  Windows系统给我们提供了许多非常实用的功能,而且都是以对话框的形式展现在用户眼前,比如:查找文件、浏览选择后执行程序,等等 ... 如果我们能在程序中以简练的代码快速调用它们,就可以移花接木般地达到需要的目的。这样,既省却了再次编写繁琐代码的过程,又能让程序快速执行(调用系统内核模块,能不快吗^_^)。以下就列举几个这样的例子:  

  ●快速调用“查找文件对话框”

  ●快速调用“系统重新启动对话框”

  ●快速调用“程序运行对话框”

  ●快速调用“文件属性对话框”

  ●快速调用“软盘格式化对话框”

  ●快速调用“网络资源映射对话框”

  ●快速调用“查找文件对话框”

快速调用“查找文件对话框”
  在Windows环境中,如果要查找一个文件,通常情况下采取的步骤是:

  1、确定查找文件所在的文件夹范围

  2、按热键F3

  3、在出现的“查找:所有文件”窗口中,输入各个项目。


  是不是有点复杂。在VB程序中,能否通过点击一个按钮,就出现第3步的“查找:所有文件”?答案是肯定的!代码如下:

  '声明API函数

  Declare Function ShellExecute Lib "shell32.dll" Alias _

    "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation _

    As String, ByVal lpFile As String, ByVal lpParameters _

    As String, ByVal lpDirectory As String, ByVal nShowCmd _

    As Long) As Long

  '定义常量参数

  Const SW_SHOW = 5

  '通用调用查找对话框函数

  Public Sub ShowFindDialog(Optional InitialDirectory As String)

  ShellExecute 0, "find", _

   IIf(InitialDirectory = "", "", InitialDirectory), _

   vbNullString, vbNullString, SW_SHOW

  End Sub

  '调用查找对话框例程

  Call ShowFindDialog("C:Program Files")

  调用的代码ShowFindDialog("C:Program Files"),非常简练。注意:如果括号中的参数不是一个合法的目录名,这一行调用命令将不会产生任何结果。如果参数为空,就等于选择了当前目录。

快速调用“系统重新启动对话框”
  我们在安装应用软件时,经常遇到安装结束时要求用户重新启动机器的确认对话框,这时系统将根据用户的选择重新启动,或者暂时退出安装,等待用户手工重新启动机器。其实,在我们的应用程序中,可以用很少的代码就调用出系统本身的重新启动对话框,真的是非常的快捷!代码是:

  '声明API函数

  Private Declare Function SHRestartSystemMB Lib _

  "shell32" Alias "#59" (ByVal hOwner As Long, ByVal _

  sExtraPrompt As String, ByVal uFlags As Long) As Long

  '定义系统重新启动常量参数

  Private Const SystemChangeRestart = 4

  '通用系统启动过程

  Public Sub SettingsChanged(FormName As Form)

    SHRestartSystemMB FormName.hWnd, vbNullString, SystemChangeRestart

  End Sub

  '调用例程

  SettingsChanged Form1

  运行一下,看看实际的效果图:


  直接使用系统内在的功能,省得自己去绘制表单了,不仅实现的功能可以很严谨,而且样子还很专业呢!

快速调用“程序运行对话框”
  一般情况下,当我们需要在VB程序中调用一个外部.exe或者.com程序时,一般要用到shell命令。它提供了一种非常简捷的方式让我们执行一个确定的外部程序。但缺点也显现出了,就是它不提供用户选择执行程序的功能。你也许还记得这样的经历:我们用鼠标点击桌面左小角的“开始”,在选择“运行”,这时,就出现了一个“运行”对话框:


  你可以在这里直接输入要执行的程序全路径,或者,点击“浏览”按钮,选择一个程序。

  要达到同样的效果,请使用下面的代码:

  '声明API函数

  '引用了未公开的DLL文件shell32

  Private Declare Function SHRunDialog Lib "shell32" _

    Alias "#61" (ByVal hOwner As Long, ByVal UnknownP1 _

    As Long, ByVal UnknownP2 As Long, ByVal szTitle _

    As String, ByVal szPrompt As String, ByVal uFlags _

    As Long) As Long

  '通用调用运行对话框过程

  '参数Title表示对话框的标题,参数Description表示对话框中的描述文字

  Public Sub ShowRunDialog(ByRef CallingForm As Form, _

    Optional Title As String, _

    Optional Description As String)

    If Title = "" Then Title = "Run"

    If Description = "" Then Description = _

    "Type the name of a program to open, " & _

      "then click OK when finished."

    SHRunDialog CallingForm.hWnd, 0, 0, _

      Title, Description, 0

  End

  '调用例程

  Call ShowRunDialog(Me, "Run Dialog", "Choose a program and press OK")

  怎么样,输入完以上代码了吗?执行一下看看效果,是不是很满意:


[1] [2] [3] 下一页

  • 上一篇文章:

  • 下一篇文章:
  • 相关专题:
     
     网友评论:(评论内容只代表网友观点,与本站立场无关!)
    GOOGLE广告

    阅读排行

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 |
    中国教师站

    中国教师站 版权所有 Copyright © 2006-2020 All Rights Reserved 站长:Sina & Siny
    [备用域名:www.JXZYW.Com] 有事请留言有事请留言
    【实力成就精品 诚信呵护品牌】

    信息产业部备案
    苏ICP备06018635号