ShellExecuteEx

aoyee 2004-03-26 01:17:47
请问哪里有 API --- ShellExecuteEx 函式各各参数的详尽中文说明
谢谢
(~~~~~~ 急需要 , 对不起我没灌msdn….)
...全文
188 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
auly403 2004-07-19
  • 打赏
  • 举报
回复
各位大虾:
用这个函数打开某个文件(不是可执行文件)之后 ,
为什么它会把文件图标改为程序(自己写的)的图标。
如何解决??
ColdMooon 2004-03-28
  • 打赏
  • 举报
回复
没治了,这么大的眼连个 Ex 都看不着。
Frank.WU 2004-03-28
  • 打赏
  • 举报
回复
簡單的:
shellexecute hwnd, "open", 'http://www.csdn.net', 0, 0, 0
hisofty 2004-03-26
  • 打赏
  • 举报
回复
他要的是ShellExecuteEX,不是ShellExecute,呵呵
'Example Name:Implementing the API File Property Page

'------------------------------------------------------------------------------
'
' Form Code
'
'------------------------------------------------------------------------------
Option Explicit

Private 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
lpIDList As Long 'Optional
lpClass As String 'Optional
hkeyClass As Long 'Optional
dwHotKey As Long 'Optional
hIcon As Long 'Optional
hProcess As Long 'Optional
End Type

Private Const SEE_MASK_INVOKEIDLIST = &HC
Private Const SEE_MASK_NOCLOSEPROCESS = &H40
Private Const SEE_MASK_FLAG_NO_UI = &H400

Private Declare Function ShellExecuteEx Lib "shell32" _
Alias "ShellExecuteExA" _
(SEI As SHELLEXECUTEINFO) As Long


Private Sub Form_Load()

Command1.Caption = "Show Properties"

'assure string points to a valid file
'on your system
Text1.Text = "c:\windows\notepad.exe"

End Sub


Private Sub Command1_Click()

'show the properties dialog, passing the filename
'and the owner of the dialog
Call ShowProperties(Text1.Text, Me.hwnd)

End Sub


Private Sub Command2_Click()

Unload Me

End Sub


Private Sub ShowProperties(sFilename As String, hWndOwner As Long)

'open a file properties property page for
'specified file if return value

Dim SEI As SHELLEXECUTEINFO

'Fill in the SHELLEXECUTEINFO structure
With SEI
.cbSize = Len(SEI)
.fMask = SEE_MASK_NOCLOSEPROCESS Or _
SEE_MASK_INVOKEIDLIST Or _
SEE_MASK_FLAG_NO_UI
.hwnd = hWndOwner
.lpVerb = "properties"
.lpFile = sFilename
.lpParameters = vbNullChar
.lpDirectory = vbNullChar
.nShow = 0
.hInstApp = 0
.lpIDList = 0
End With

'call the API to display the property sheet
Call ShellExecuteEX(SEI)

End Sub
lilaclone 2004-03-26
  • 打赏
  • 举报
回复
一个发邮件的例子:
模块中内容
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
Public Const SW_SHOW = 5

窗体中内容
Private Sub Label3_Click()
Dim HyperJump
Dim w
w = Label3.Caption
HyperJump = ShellExecute(0&, vbNullString, w, vbNullString, vbNullString, vbNormalFocus)
End Sub
Private Sub Command1_Click()
k = "mailto:" + Text1.Text
ShellExecute hwnd, "open", k, vbNullString, vbNullString, SW_SHOW
End Sub
rainstormmaster 2004-03-26
  • 打赏
  • 举报
回复
【VB声明】
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

【别名】
ShellExecuteA

【说明】
 
查找与指定文件关联在一起的程序的文件名

【返回值】
Long,非零表示成功,零表示失败。会设置GetLastError

【参数表】
hwnd ----------- Long,指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框

lpOperation ---- String,指定字串“open”来打开lpFlie文档,或指定“Print”来打印它

lpFile --------- String,想用关联程序打印或打开一个程序名或文件名

lpParameters --- String,如lpszFlie是可执行文件,则这个字串包含传递给执行程序的参数

lpDirectory ---- String,想使用的完整路径

nShowCmd ------- Long,定义了如何显示启动程序的常数值。参考ShowWindow函数的nCmdShow参数

1,485

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧