VB中Shell和ShellExecute函数的使用方法和区别
来源:互联网 发布:迅雷快传mac版 编辑:程序博客网 时间:2024/05/01 21:03
写了一个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", vbNullString, vbNullString, vbNormalFocus
或者这样写来发送Email:
ShellExecute me.hwnd, "open", "mailto:vbcode@vbcode.com", vbNullString, vbNullString, 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中Shell和ShellExecute函数的使用方法和区别
- WinExec, ShellExecute, CreateProcess三个函数的区别和联系
- shell中&&和||的使用方法
- shell中&&和||的使用方法
- shell中&&和||的使用方法
- shell中&&和||的使用方法
- shell中&&和||的使用方法
- shell中&&和||的使用方法
- ShellExecute和在ie中双击程序的区别
- ShellExecute 函数的使用方法总结
- ShellExecute 函数的使用方法总结
- ShellExecute()用法以及和system()的区别
- vc中ShellExecute的使用方法
- vc中ShellExecute的使用方法
- vc中ShellExecute的使用方法
- vc中ShellExecute的使用方法
- ShellExecute 函数的用法和实例
- VB函数Time和Timer的区别
- css sprites
- JS控制Option实例(增加、删除,上下移动)
- 卸载oracle的步骤(笔记)
- Apache2如何支持.htaccess
- C#中Split分隔字符串的应用
- VB中Shell和ShellExecute函数的使用方法和区别
- volatile笔记
- scandir 读取特定目录的数据表头文件:#include 定义函数:int scandir(const char *dir, struct dirent **namelist, nt (*select) (const struct dirent
- 关于SetTimer连续开多个ID一样的消息事件的疑惑及相关问题
- 《跑步人生》 作者:村上春树
- mysql 一道小题
- Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---工厂模式之工厂方法
- 使用zlib库进行数据压缩、解压缩
- 关于RandomAccessFile