现在你可以试一下你的新函数:在窗体Form1中加入一个文本框Text1,然后再加入一个命令键Command1,在Command1_Click()事件中加入以下代码:Public Function MyGetWinDirectory() As String
Dim sBuffer As String
Dim lSize As Long
sBuffer = String(255, 0)
lSize = GetWindowsDirectory (sBuffer, Len(sBuffer))
sBuffer = Left(sBuffer, lSize)
sBuffer = sBuffer + “\”
MyGetWinDirectory = sBuffer
End Function
Private Sub Command1_Click()
Text1 = MyGetWinDirectory
MsgBox Text1
End Sub
Dim sBuffer As String
Dim lSize As Long
sBuffer = String(255, 0)
lSize = GetWindowsDirectory (sBuffer, Len(sBuffer))
sBuffer = Left(sBuffer, lSize)
sBuffer = sBuffer + “\”
MyGetWinDirectory = sBuffer
End Function
Private Sub Command1_Click()
Text1 = MyGetWinDirectory
MsgBox Text1
End Sub
解决方案 »
- 请问TextPad里可以自动换行么
- 求VB中文详细api帮助~以前的贴子的链接大多失效了!谢谢
- 无窗口控件如何截取消息
- vb中做子菜单用什么,另外问一下有句柄这个概念吗?(老风格,在线等,解决就散分)
- 怎么找到代码里面定义的但没用到的变量?就象VC,delphi都会在编译时给出waring一样
- 在TreeView控件中的两个问题!!!!
- 急!谁有甘特图控件的下载地址?
- 100分送朋友!只为Driverlistbox,dirlistbox控件的使用方法!特着急!!
- 怎么实现在选择下拉选项的内容后,点OK,所选内容就保存到数据库中
- 给解决下:想做一个ASCII转换程序
- 继续求援!
- 高分求救简单的打印设置
Const CSIDL_DESKTOP = &H0& '桌面
Const CSIDL_INTERNET = &H1'Internet Explorer
Const CSIDL_PROGRAMS = &H2& '程式集
Const CSIDL_CONTROLS = &H3 'My Computer\Control Panel
Const CSIDL_PRINTERS = &H4 'My Computer\Printers
Const CSIDL_PERSONAL = &H5 'My Documents
Const CSIDL_FAVORITES = &H6& '我的最愛
Const CSIDL_STARTUP = &H7& '啟動
Const CSIDL_RECENT = &H8& '文件(最近開啟)
Const CSIDL_SENDTO = &H9& '傳送至
Const CSIDL_BITBUCKET = &HA '{desktop}\Recycle Bin
Const CSIDL_STARTMENU = &HB& '開始功能表
Const CSIDL_DESKTOPDIRECTORY = &H10& '桌面
Const CSIDL_DRIVES = &H11 'My Computer
Const CSIDL_NETWORK = &H12 'Network Neighbourhood
Const CSIDL_NETHOOD = &H13 'NetHood
Const CSIDL_FONTS = &H14& '字型
Const CSIDL_TEMPLATES = &H15& 'ShellNew
Const CSIDL_COMMON_STARTMENU = &H16
'All Users\Start Menu
Const CSIDL_COMMON_PROGRAMS = &H17
'All Users\Programs
Const CSIDL_COMMON_STARTUP = &H18
'All Users\Startup
Const CSIDL_COMMON_DESKTOPDIRECTORY = &H19
'All Users\Desktop
Const CSIDL_APPDATA = &H1A
'{user}\Application Data
Const CSIDL_PRINTHOOD = &H1B
'{user}\PrintHood
Const CSIDL_LOCAL_APPDATA = &H1C
'{user}\Local Settings Application Data (non roaming)
Const CSIDL_ALTSTARTUP = &H1D
'non localized startup
Const CSIDL_COMMON_ALTSTARTUP = &H1E
'non localized common startup
Const CSIDL_COMMON_FAVORITES = &H1F
Const CSIDL_INTERNET_CACHE = &H20
Const CSIDL_COOKIES = &H21
Const CSIDL_HISTORY = &H22
Const CSIDL_COMMON_APPDATA = &H23
'All Users\Application Data
Const CSIDL_WINDOWS = &H24 'Windows目錄
Const CSIDL_SYSTEM = &H25 'Windows\system目錄
Const CSIDL_PROGRAM_FILES = &H26 'C:\Program Files
Const CSIDL_MYPICTURES = &H27 'C:\Program Files\My Pictures
Const CSIDL_PROFILE = &H28 'USERPROFILE
Const CSIDL_SYSTEMX86 = &H29
'x86 system directory on RISC
Const CSIDL_PROGRAM_FILESX86 = &H2A
'x86 C:\Program Files on RISC
Const CSIDL_PROGRAM_FILES_COMMON = &H2B
'C:\Program Files\Common
Const CSIDL_PROGRAM_FILES_COMMONX86 = &H2C
'x86 Program Files\Common on RISC
Const CSIDL_COMMON_TEMPLATES = &H2D
'All Users\Templates
Const CSIDL_COMMON_DOCUMENTS = &H2E
'All Users\Documents
Const CSIDL_COMMON_ADMINTOOLS = &H2F
'All Users\Start Menu\Programs\Administrative Tools
Const CSIDL_ADMINTOOLS = &H30
'{user}\Start Menu\Programs\Administrative ToolsDeclare Function SHGetSpecialFolderLocation Lib "Shell32" (ByVal hwndOwner As Long, ByVal nFolder As Integer, ppidl As Long) As Long
Declare Function SHGetPathFromIDList Lib "Shell32" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal szPath As String) As Long 註:如果以上的宣告放在「一般模組」底下, 應在 Const 之前加上 Public 保留字, 並且將 Private 保留字去掉。
2. 呼叫例: Const MAX_PATH = 260
Dim pidl As Long, S As StringId = CSIDL_DESKTOP ' 「桌面」資料夾
S = String(MAX_PATH, 0)
SHGetSpecialFolderLocation 0, Id, pidl
SHGetPathFromIDList pidl, S
S = Left(S, InStr(S, Chr(0)) - 1)