这个你可以从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
第1个参数hwnd是指父窗口的句柄,类型是Long,一般可以设为0表示没有父窗口,也可以设为当前窗口的句柄Me.hWnd;
第2个参数lpOperation是操作字串,比如“Open”是打开文档,“Print”是打印文档,等等。如果设为vbNullString,则默认为“Open”;
第3个参数lpFile则是要操作的文件名,可以是可执行文件,也可以是已经与某个应用程序建立关联的文档;
第4个参数lpParameters,则表示如果上述第3个参数是可执行文件,这里就是可执行文件的命令行参数,如果没有就可以设为空字符串"",或者是vbNullString;
第5个参数lpDirectory是程序启动时的默认路径,可以设为空字符串""或vbNullString,表示使用当前的默认路径;
第6个参数nShowCmd是程序启动后的窗口状态,比如SW_Hide(或数字0)是隐藏窗口,SW_NORMAL(或数字1)是普通窗口,SW_MAXIMIZE(或数字3)是最大化窗口,SW_MINIMIZE(或数字6)是最小化窗口,等等。
也就是说究竟用0还是空字符串要根据参数的类型来定。
开什么玩笑, #include
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
Private Sub Command1_Click()
Dim 密码 As String
密码 = Text1.Text
If 密码 = "12321" Then
ShellExecute Me.hwnd, "open", "d:\", "", "", 1
Else
text2.Text = "密码错误"
End If
End Sub
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
在最前面加上这句话,API函数使用前要先声明。