VB ShellExecute 函数应用技巧
2010年05月24日
Flex data provider | PV3D第一个测试文件
ShellExecute
声明:
Private 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
原型:
HINSTANCE ShellExecute(
HWND hwnd, //父窗口句柄
LPCTSTR lpOperation, //操作,"open","print","explore"
LPCTSTR lpFile, //文件名,前面可加路径
LPCTSTR lpParameters, //参数
LPCTSTR lpDirectory, //默认文件夹
INT nShowCmd //显示方式
);
打开一个应用程序
ShellExecute(this->m_hWnd,"open","calc.exe","","", SW_SHOW );
或
ShellExecute(this->m_hWnd,"open","notepad.exe","c:MyLog.log","",SW_SHOW );
打开一个同系统程序相关连的文档
ShellExecute(this->m_hWnd,"open","c:abc.txt","","",SW_SHOW );
激活相关程序,发送EMAIL
ShellExecute(this->m_hWnd,"open","mailto:xxf@5y6s.com","","", SW_SHOW );
打开文件夹
ShellExecute(handle, "open", path_to_folder, NULL, NULL, SW_SHOWNORMAL)
用系统打印机打印文档
ShellExecute(this->m_hWnd,"print","c:abc.txt","","", SW_HIDE);
本函数还可以用来连接到网页,照下面写就行了:
ShellExecute 0&, vbNullString, "", vbNullString, vbNullString, vbNormalFocus
或者这样写来发送Email:
ShellExecute me.hwnd, "open", "mailto:xxf@5y6s.com", vbNullString, vbNullString, SW_SHOW
另外有ShellExecute的替代用法,更加简单实用,不用API,一句Shell搞定!
连接到网页:
Shell "rundll32.exe url.dll,FileProtocolHandler "
打开文件:
Shell "rundll32.exe url.dll,FileProtocolHandler " & App.Path & "SHELLTST.TXT"
ShellExecute API应用整理
作者: yanek
1. 执行“打开”,“查找”,“资源管理器”和“打印”
必要的声明:
’ nShowCmd
Public Const SW_HIDE = 0
Public Const SW_SHOWNORMAL = 1
Public Const SW_SHOWMINIMIZED = 2
Public Const SW_SHOWMAXIMIZED = 3
Public Const SW_MAXIMIZE = 3
Public Const SW_SHOWNOACTIVATE = 4
Public Const SW_SHOW = 5
Public Const SW_MINIMIZE = 6
Public Const SW_SHOWMINNOACTIVE = 7
Public Const SW_SHOWNA = 8
Public Const SW_RESTORE = 9
’ Error Code
Public Const ERROR_FILE_NOT_FOUND = 2
Public Const ERROR_PATH_NOT_FOUND = 3
Public Const ERROR_BAD_FORMAT = 11
Public Const SE_ERR_FNF = 2
Public Const SE_ERR_PNF = 3
Public Const SE_ERR_ACCESSDENIED = 5
Public Const SE_ERR_OOM = 8
Public Const SE_ERR_SHARE = 26
Public Const SE_ERR_ASSOCINCOMPLETE = 27
Public Const SE_ERR_DDETIMEOUT = 28
Public Const SE_ERR_DDEFAIL = 29
Public Const SE_ERR_DDEBUSY = 30
Public Const SE_ERR_NOASSOC = 31
Public Const SE_ERR_DLLNOTFOUND = 32
Public 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
“打开“操作
ShellExecute Me.hwnd, "open", _
Text1.Text, _
vbNullString, vbNullString, _
SW_SHOWNORMAL
“查找“操作
ShellExecute Me.hwnd, "find", _
LocalDir, _
vbNullString, vbNullString, _
SW_SHOWNORMAL
“打印“操作
ShellExecute Me.hwnd, "print", _
Text1.Text, _
vbNullString, vbNullString, _
SW_SHOWNORMAL
“资源管理器“
ShellExecute Me.hwnd, "explore", _
LocalDir, _
vbNullString, vbNullString, _
SW_SHOWNORMAL
打开“我的文档“
ShellExecute Me.hwnd, _
"open", "explorer", _
vbNullString, vbNullString, _
SW_SHOWNORMAL
打开“我的电脑“
’ 我的电脑
’ HKEY_CLASSES_ROOTCLSID’ {20D04FE0-3AEA-1069-A2D8-08002B30309D}
ShellExecute Me.hwnd, "open", _
"explorer", _
"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", _
vbNullString, SW_SHOWNORMAL
打开“网上邻居“
’ 网上邻居
’ HKEY_CLASSES_ROOTCLSID’ {208D2C60-3AEA-1069-A2D7-08002B30309D}
ShellExecute Me.hwnd, "open", _
"explorer", _
"::{208D2C60-3AEA-1069-A2D7-08002B30309D}", _
vbNullString, SW_SHOWNORMAL
打开“回收站“
’ 回收站
’ HKEY_CLASSES_ROOTCLSID’ {645FF040-5081-101B-9F08-00AA002F954E}
ShellExecute Me.hwnd, "open", _
"explorer", _
"::{645FF040-5081-101B-9F08-00AA002F954E}", _
vbNullString, SW_SHOWNORMAL
ShellExecuteEx API演示
必要声明:
Public Type SHELLEXECUTEINFO
cbSize As Long
fMask As Long
hwnd As Long
lpVerb As String
lpFile As String
lpParameters As String
lpDirectory As String
nShow As Long
hInstApp As Long
’ Optional fields
lpIDList As Long
lpClass As String
hkeyClass As Long
dwHotKey As Long
hIcon As Long
hProcess As Long
End Type
’ fMask
Public Const SEE_MASK_CLASSKEY = &H3
Public Const SEE_MASK_CLASSNAME = &H1
Public Const SEE_MASK_CONNECTNETDRV = &H80
Public Const SEE_MASK_DOENVSUBST = &H200
Public Const SEE_MASK_FLAG_DDEWAIT = &H100
Public Const SEE_MASK_FLAG_NO_UI = &H400
Public Const SEE_MASK_HOTKEY = &H20
Public Const SEE_MASK_ICON = &H10
Public Const SEE_MASK_IDLIST = &H4
Public Const SEE_MASK_INVOKEIDLIST = &HC
Public Const SEE_MASK_NOCLOSEPROCESS = &H40
Public Declare Function ShellExecuteEX Lib "shell32.dll" _
Alias "ShellExecuteEx" _
(lpExecInfo As SHELLEXECUTEINFO) As Boolean
执行调用“文件属性“对话框
Dim dwReturn As Long
Dim lpExecInfo As SHELLEXECUTEINFO
With lpExecInfo
.cbSize = Len(lpExecInfo)
.fMask = SEE_MASK_NOCLOSEPROCESS or _
SEE_MASK_INVOKEIDLIST or _
SEE_MASK_FLAG_NO_UI
.hwnd = Me.hwnd
.lpVerb = "properties"
.lpFile = LocalDir & File1.FileName
.lpParameters = vbNullChar
.lpDirectory = vbNullChar
.nShow = SW_SHOWNORMAL
.hInstApp = 0
.lpIDList = 0
End With
dwReturn = ShellExecuteEX(lpExecInfo)
发表评论
-
基于Xen虚拟机的设计与实验
2012-01-20 09:50 630基于Xen虚拟机的设计与 ... -
编程语言的选择
2012-01-20 09:50 782编程语言的选择 2010年0 ... -
『vivizhyy』SD2.0 (来源于孟岩讲座)
2012-01-20 09:50 525『vivizhyy』SD2.0 (来源于 ... -
移植libjingle v0.5x for IOS(iphone device + iphone simulator)
2012-01-20 09:50 1008移植libjingle v0.5x for IOS(iphon ... -
RabbitVCS : TortoiseSVN 的替代者
2012-01-20 09:50 756RabbitVCS : TortoiseSVN 的替代者 2 ... -
2011-3-17
2012-01-19 14:56 5692011-3-17 2011年03月17日 ... -
2011-12-23
2012-01-19 14:56 5582011-12-23 2011年12月23日 ... -
各类制度(参考)
2012-01-19 14:56 478各类制度(参考) 2011年10 ... -
贯彻落实《纲要》精神 保证幼儿生命安全----幼儿园安全工作汇报
2012-01-19 14:55 792贯彻落实《纲要》精神 ... -
幼儿园[2]
2012-01-19 14:55 563幼儿园[2] 2011年08月15日 一、奖励 1、 ... -
cegui基础
2012-01-17 04:39 616cegui基础 2010年11月12日 ... -
显卡驱动更新完后还是找不到合适的分辨率的应对方法
2012-01-17 04:38 1065显卡驱动更新完后还是 ... -
3DMAX 300问 (五)
2012-01-17 04:38 6283DMAX 300问 (五) 2011年04月23日 6 ... -
qt中文
2012-01-17 04:38 839qt中文 2011年06月09日 QDataStream ... -
3D MAX 常见小问题集合三
2012-01-17 04:38 6593D MAX 常见小问题集合三 ... -
VB如何连接帮助文件
2012-01-16 03:32 728VB如何连接帮助文件 2009年12月04日 VB如何 ... -
制作VB安装程序问答(Package & Deployment)
2012-01-16 03:32 590制作VB安装程序问答(Package & Deploy ... -
vb代码2
2012-01-16 03:32 569vb代码2 2010年11月21日 ... -
VB 打开文件
2012-01-16 03:32 1078VB 打开文件 2009年07月21日 关于VB中She ...
相关推荐
使用ShellExecute函数实现以管理员身份运行程序
win32和wince系统自带的打开exe文件的函数区别
ShellExecute函数用法的实例代码,需要的朋友可以参考一下
详细的说明ShellExecute函数的用法,该函数的功能很强大的
Crack8_编程小组[K.8] QQ吻 欢迎您 Blog http://qqhack8.blog.163.com
Delphi中ShellExecute的使用方法介绍
总之,ShellExecute函数就是如此简单地打开磁盘文件和Internet文件。
内容索引:VC/C++源码,其它分类,ShellExecute,OutLook,发邮件 C程序调用ShellExecute函数打开发邮件的OutLook程序,编译成功后会生成一个命令提示符可执行程序,打开后显示:确认打开邮件收发程序!(Y/N),如果选择Y,...
在C语言源程序中调用API函数ShellExecute 详细解答
shellEXEcute的使用:调用计算器,调用excel,调用邮箱,调用记事本,打开指定网址的网页,打开指定的txt文件,运行一个DOS命令并立即返回等
delphi中shellExecute的使用方法......
ShellExecute使用详解,doc格式
GetTempFileName 这个函数包含了一个临时文件的名字,它可由应用程序使用 GetTempPath 获取为临时文件指定的路径 GetVolumeInformation 获取与一个磁盘卷有关的信息 GetWindowsDirectory 获取Windows目录的完整...
30、vb6使用ShellExecute调用RAR进行解压.txt 31、vb6释放资源文件.txt 32、vb6提取包含特定字符的行的内容.txt 33、vb6托盘+气泡(不用模块).txt 34、vb6拖动text文本框.txt 35、vb6拖动没有标题栏的窗口.txt 36、vb...
C# ShellExecute 方法的各种调用的示例源代码
通过函数ShellExecute(this->m_hWnd,"open","SoftBoard.exe",sPath,"",SW_SHOW );调用已经做好的EXE软键盘,该函数也可以打开网页、记事本或其它程序。
所用到的 API 函数 GetAsyncKeyState 、ShellExecute,通过按这些按键可以打开相关的网站,大可不必记住那么多的网址),大家是不是非常想得到这样的键盘,好的,大家向下看,以编程的方式可以使用每一个网虫的...
API进程与线程函数WinExec、ShellExecute、LoadLibrary、FreeLibrary.pdf
使用labview2013中文版编辑,调用shell中的ShellExecute实现打开外部应用程序,VI有详细说明,参数如下: int32_t ShellExecuteA(int32_t hwnd, int32_t lpOperation, CStr paramenters, CStr 参数4, CStr directory...