VB中Shell和ShellExecute函数的使用方法和区别

前端之家收集整理的这篇文章主要介绍了VB中Shell和ShellExecute函数的使用方法和区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

写了一个vb的程序,用来把原来写的几个vb和vc的程序整合起来。就是使用Shell函数。结果发现,vc的程序可以很好的显示,但vb写的却一运行就最小化了。仔细查看了一下以下文章,才发现原来shell函数的默认显示模式是windowstyle是等于vbMinimizedFocus。然后就是直接加上一个vbNormalFocus。一切ok!

vb的shell函数用法

功能:执行一个可执行文件,返回一个Variant(Double),如果成功的话,代表这个程序的任务ID,若不成功,则会返回0。

语法:Shell(pathname[,windowstyle])

Shell函数的语法含有下面这些命名参数:

pathname必要参数。Variant(String),要执行的程序名,以及任何必需的参数或命令行变量,可能还包括目录或文件夹,以及驱动器。

Windowstyle可选参数。Variant(Integer),表示在程序运行时窗口的样式。如果windowstyle省略,则程序是以具有焦点的最小化窗口来执行的。


shellExecute函数
用法较为复杂,但是功能更加强大。

HINSTANCE ShellExecute(
HWND hwnd,'父窗口句柄
LPCTSTR lpOperation,'操作或打开方式 "edit","explore","open","find","print","NULL"
LPCTSTR lpFile,'文件名,前面可加路径
LPCTSTR lpParameters,'参数
LPCTSTR lpDirectory,'默认文件
INT nShowCmd '显示方式
);

ShellExecute的功能是运行一个外部程序

(或者是打开一个已注册文件、打开一个目录、打印一个文件等等),

并对外部程序有一定的控制。shell函数在这个方面先相对较弱,

在大多数情况下ShellExecute是更多的被使用的,

 lR = ShellExecute(Me.hWnd,"Open",sFile,"",vbNormalFocus)
 If (lR < 0) Or (lR > 32) Then
   ' 成功
 Else
  MsgBox "无法打开 '" & sFile & "'",vbInformation
 End If

附:  本函数还可以用来连接到网页,照下面写就行了:ShellExecute 0&,vbNullString,"http://coolbasic.yeah.net",vbNormalFocus   或者这样写来发送Email:ShellExecute me.hwnd,"mailto:vbcode@vbcode.com",SW_SHOW另外有ShellExecute的替代用法,更加简单实用,不用API,一句Shell搞定!连接到网页:  Shell "rundll32.exe url.dll,FileProtocolHandler http://www.online.sh.cn"打开文件:  Shell "rundll32.exe url.dll,FileProtocolHandler " & App.Path & "SHELLTST.TXT"

猜你在找的VB相关文章