收录日期:2020/05/27 10:18:12 时间:2016/06/12 02:12:08 标签:API
网上搜索到一个帖子,说了方法,但我执行的时候没反应,希望大哥大姐帮助看下,谢谢~~
form中代码如下:
Private Const SW_SHOWNORMAL = 1
Private Const CSIDL_SENDTO = &H9 '{user name}\SendTo
Private Const CSIDL_BITBUCKET = &HA '{desktop}\Recycle Bin
Private Const CSIDL_STARTMENU = &HB '{user name}\Start Menu
Private Const CSIDL_DESKTOPDIRECTORY = &H10 '{user name}\Desktop
Private Const CSIDL_DRIVES = &H11 'My Computer
Private Const CSIDL_NETWORK = &H12 'Network Neighborhood
Private Const CSIDL_WINDOWS = &H24 'GetWindowsDirectory()
Private Const CSIDL_SYSTEM = &H25 'GetSystemDirectory()
Private Const CSIDL_PROGRAM_FILES = &H26 'C:\Program Files

Private Const MAX_PATH = 260
Private Const S_OK = 0

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 Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long

Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As Long) As Long

Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal pv As Long)

Private Function GetSpecialFolderLocation(CSIDL As Long) As String
Dim sPath As String
Dim pidl As Long
'fill the idl structure with the specified folder item

If SHGetSpecialFolderLocation(0, CSIDL, pidl) = S_OK Then

'if the pidl is returned, initialize
'and get the path from the id list
sPath = Space$(MAX_PATH)
'Msgbox sPath

If SHGetPathFromIDList(pidl, sPath) Then
Msgbox SHGetPathFromIDList(pidl, sPath)
'return the path
GetSpecialFolderLocation = Left(sPath, InStr(sPath, Chr$(0)) - 1)
End If
'free the pidl
Call CoTaskMemFree(pidl)
End If
End Function

调用例子:打开我的电脑的
Private Sub xpcmdbutton10_Click()
'ShellExecute Me.hwnd, "open", vbNull, vbNull, GetSpecialFolderLocation(CSIDL_DRIVES), SW_SHOWNORMAL
'ShellExecute Me.hwnd, "Open", "explorer.exe", "/e,\", "C:\", SW_NORMAL
Dim str As String
str = GetSpecialFolderLocation(CSIDL_DRIVES)
ShellExecute Me.hwnd, "open", vbNull, vbNull, str, SW_SHOWNORMAL
'ShellExecute 0, "explore", "", "", GetSpecialFolderLocation(CSIDL_DRIVES),SW_SHOWNORMAL
End Sub

点击按钮执行时,GetSpecialFolderLocation中取的sPath 为空,请指点,谢谢~~
没有哪位大侠看看吗?
'ShellExecute 0, "explore", "", "", GetSpecialFolderLocation(CSIDL_DRIVES),SW_SHOWNORMAL
是打开资源管理器,相当于我的电脑了吧,有知道打开我的文档,我的IE什么的怎么写吗?
关注下^....
已经解决了,谢谢关注!
ShellExecute Me.hWnd, "open", "explorer", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", vbNullString, SW_SHOWNORMAL
我的电脑
ShellExecute Me.hWnd, "open", "explorer", vbNullString, vbNullString, SW_SHOWNORMAL
我的文档
ShellExecute Me.hWnd, "open", "explorer", "::{208D2C60-3AEA-1069-A2D7-08002B30309D}", vbNullString, SW_SHOWNORMAL
网上邻居
ShellExecute Me.hWnd, "open", "explorer", "::{645FF040-5081-101B-9F08-00AA002F954E}", vbNullString, SW_SHOWNORMAL
回收站
ShellExecute Me.hWnd, "open", "iexplore.exe", vbNullString, vbNullString, SW_SHOWNORMAL
IE
ShellExecute Me.hWnd, "open", App.Path + "\Resources\help.chm", vbNullString, vbNullString, SW_SHOWNORMAL
应用程序路径下的帮助文件,呵呵~~

如何获得一个指定域名的MX纪录? 求:统计图象的颜色数量 imp,怎样指定表空间??? SOCKET文件传输,大家多关照了 UP有分 怎么加载外部的java类? 几道面试题 与音频函数有关的问题 通过DefaultView.Sort对网格排序的问题 吉林省下半年计算机技术与软件考试成绩公布 两种SQL语句为什么执行速度相差那么大呢?请给出根本的答案 .NET中SmtpMail.Send(mailMessage),发送成功但为何收不到邮件?老问题,请知道的高手进来指教一下! 在vb。net中如何备份文件呢? 高分求教一个基础问题?关于程序的编译后运行 如何编写类似于这个网页的搜索的代码,谢谢! 华为 用户的quota怎样设置? 如何连接VC++和MSDN python如何取得摄像头图像信息? 关于怎样销毁定时器的问题? 怎样动态禁用菜单项和工具栏项? 新手问题,在线等 菜鸟求救SQL的远程连接问题 在客户端中通过innerHTML把字符串值TextBox控件,在服务器端怎么得不到这个值? 在元旦来临之际,asp.net有什么新技术出现?拿出来交流一下.这里有分了. 求:统计图象的颜色数量 请教:Clobs are not cacheable异常 请问:查\"张含晕\"则提示\"是否要查\"张含韵\"?(因为\"晕\"和\"韵\"是协音)这类的查询怎么做啊,难不难?(C#WEBFORM+sql server2000) 有没有办法修改MessageBox里的字体? 请问regsvr32 /u xxx.dll 后, xxx.dll还是无法删除是什么原因, 谢谢 请教 windows ce下数字证书的编程应用