VB获得Windows各类系统目录的方法
vb 获取路径
vb 获取路径【原创版】目录1.获取文件路径的方法2.获取文件夹路径的方法3.使用 VB 获取路径的实例正文在 VB 编程语言中,获取文件或文件夹路径的方法有很多种。
这里我们将介绍两种常用的方法,并给出一个实例来帮助理解。
首先,我们来看如何获取文件路径。
使用 VB 获取文件路径的方法非常简单,只需要使用`Path`函数即可。
`Path`函数不需要任何参数,它会返回当前文件的完整路径。
例如,如果你在代码中插入`MsgBox Path()`,那么它会弹出一个对话框,显示当前文件的完整路径。
接下来,我们来看如何获取文件夹路径。
获取文件夹路径的方法也很简单,同样可以使用`Path`函数,但需要配合`App.Path`或`App.ExeName`使用。
`App.Path`返回应用程序的安装路径,而`App.ExeName`返回应用程序的执行文件名。
例如,你可以使用`MsgBox Path & App.Path`来获取当前文件夹的路径。
现在,我们来看一个使用 VB 获取路径的实例。
假设我们要创建一个文件夹,并将当前文件复制到该文件夹中。
我们可以使用`Dir`函数来创建文件夹,然后使用`FileCopy`函数来复制文件。
具体的代码如下:```Dim FolderName As String, FileName As StringFolderName = "新文件夹"FileName = "原始文件.txt"" 创建文件夹MkDir FolderName" 获取文件路径Dim FilePath As StringFilePath = Path & FileName" 复制文件到文件夹FileCopy FilePath, FolderName & "" & FileName```在这个实例中,我们首先定义了要创建的文件夹名称和要复制的文件名称。
VB取得系统信息
这学期开VB,为了熟悉VB的环境,我决定写一个简单的东西来熟悉VB的编程环境.不过写了一点的时候就发现需要用到API函数才能完成程序所完成的功能,所以又学习以下API函数的使用(主要是关于注册标的操作).下面就如何在VB下利用API函数获得系统信息的方法,希望对大家的学习有所帮助.首先是获得当前用户的用户名,用的是API函数GetComputerName ,该函数在VB中的声明是:Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long (注意:VB中API函数的声明必须在一行上,还有窗体层内定义的API函数都应该定义成Private 的,不然编译是就会出错.另外,顺便说一下,VB虽然也支持面向对象的编程,但只能是实现面向对象的部分功能).其参数说明如下:lpBuffer String,随同计算机名载入的字串缓冲区;nSize Long,缓冲区的长度。
这个变量随同返回计算机名的实际长度载入;其实现过成如下:Dim len As Long 'computer 名字的长度Dim aa As Long '返回函数调用是否成功,TRUE(非零)表示成功,否则返回零Dim cmprName As String '计算机名(当前用户的用户名)的字符串cmprName = String(255, 0)len = 256aa = GetComputerName(cmprName, len) '取得这台计算机的名称cmprName = Left(cmprName, InStr(1, cmprName, Chr(0)) - 1) cname.Caption = cmprName '将计算机当前用户名输出在cname标签上(以下都是用标签做输出).接着就是CPU的信息了.在API函数中好象没有直接关于CPU的信息(虽然我对API函数知道的有现,但我查了一下,没有,不知道是不是有我没有找到).既然没有直接关于CPU信息的API函数,我就想到注册表里面肯定有CPU的相关信息.我查了一下注册表,发现有关CPU的信息都在键"HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\system\CentralProce ssor\0"下,关于CPU有的型号在"ProcessorNameString"里面.接下来就是如何读取注册表的值了.VB中用RegOpenKey和RegQueryValueEx两个api来完成读取注册表的值.其中RegOpenKey是打开注册表中一个指定的键;RegQueryValueEx函数来读取某个Key的指定名称的值(value),这两个函数的声明及参数说明如下:Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long参数类型及说明:hKey:Key HandlelpSubKey:SubKey名称或路径phkResult:若RegOpenKey执行成功,则这一参数返回Subkey的hKey.返回值: =0,表示成功;≠0,表示失败。
vb 获取路径
vb 获取路径摘要:1.获取路径的意义2.VB 编程语言介绍3.VB 中获取路径的方法4.获取路径的实例演示5.总结正文:【1.获取路径的意义】在计算机编程中,获取路径是一项常见的操作。
路径指的是一个文件或文件夹在计算机中的具体存储位置。
获取路径可以帮助程序员在编写代码时准确地定位到某个文件或文件夹,以便对其进行读取、写入或删除等操作。
在VB 编程语言中,也有相应的函数可以实现获取路径的功能。
【2.VB 编程语言介绍】Visual Basic(简称VB)是一种由微软公司开发的编程语言,它具有简单易学、功能强大的特点,广泛应用于Windows 平台的应用程序开发。
VB 使用面向对象的编程方法,可以帮助程序员快速地构建出功能完善的软件。
【3.VB 中获取路径的方法】在VB 中,有多种方法可以获取路径。
以下列举了几种常用的方法:1) 使用“puter”对象```vbDim path As String =puter.FileSystem.SpecialDirectories("MyDocuments") ```2) 使用“My.Application”对象```vbDim path As String = .DirectoryPath```3) 使用“Path”函数```vbDim path As String = Path.GetTempPath()```【4.获取路径的实例演示】以下是一个简单的VB 程序,演示了如何获取"MyDocuments"文件夹的路径:```vbImports SystemModule Module1Sub Main()Dim path As String" 使用puter.FileSystem.SpecialDirectories 方法获取路径path =puter.FileSystem.SpecialDirectories("MyDocuments")Console.WriteLine("MyDocuments 路径:" & path)" 使用.DirectoryPath 方法获取路径path = .DirectoryPathConsole.WriteLine("应用程序路径:" & path)" 使用Path.GetTempPath() 方法获取路径path = Path.GetTempPath()Console.WriteLine("临时文件夹路径:" & path)Console.ReadKey()End SubEnd Module```【5.总结】通过以上介绍,我们可以看到,在VB 编程语言中,有多种方法可以获取路径。
VB.NET获取计算机系统信息
获取计算机系统信息Visual 拥有许多VB开发者以前只能梦想的新功能和新特色。
比如说,在VB6中只有通过复杂的Win32 API函数调用才能获得的系统信息,到了,就可以以多种方法轻松的获取。
一、Environment类轻松获取系统信息.NET Framework中的System.Environment类提供了丰富而简单的方法取得有关当前环境和平台的系统信息,如计算机名称、系统目录等:获取计算机的 NetBIOS 名称:Environment类的MachineName属性可以轻松获取此本地计算机的 NetBIOS 名称,如:lblMachineName.T ext = "机器名:" & Environment.MachineName获取操作系统标识符和版本号:Environment类的OSVersion可以轻松获取当前操作系统标识符和版本号,如:lblOs.Text = "操作系统:" & Environment.OSVersion.ToString 获取系统目录:Environment类的SystemDirectory属性可以轻松取得系统目录:LblSysDir.Text = "系统目录:" & Environment.SystemDirectory获取系统启动后经过的时间:Environment类的TickCount属性可以轻松获取系统启动后经过的毫秒数,如:LblSysTickCount.Text = "系统已经启动了:" &CStr(Environment.TickCount / 1000) & "秒"获取系统特殊文件夹的路径:使用Environment类的GetFolderPath方法可以轻松获得系统特殊文件夹的路径,如:LblSpecialDir.Text = "我的收藏夹:" & _ mEnvironment.GetFolderPath(Environment.SpecialFolder.Favorit es)获取当前用户名:Environment类的UserName属性可以轻松获取当前用户名,如:LblUser.Text = "用户:" & erName二、SystemInformation类轻松获取系统信息通过SystemInformation类也可以轻松取得如计算机名等操作系统的有关信息:获取系统的启动方式:使用 BootMode 可确定用户如何启动系统。
VBA中文件路径处理与管理的函数与技巧
VBA中文件路径处理与管理的函数与技巧VBA(Visual Basic for Applications)是一种编程语言,被广泛应用于Microsoft Office套件中的各种应用程序,如Excel、Word 和Access等。
在VBA中,处理和管理文件路径是非常常见且重要的任务。
本文将介绍一些VBA中用于文件路径处理和管理的函数与技巧,帮助您更有效地操作和利用文件路径。
一、获取文件路径1. 使用Dir函数获取文件路径在VBA中,可以使用Dir函数来获取文件路径。
Dir函数可以返回指定目录中与给定模式匹配的一个文件名或文件夹名。
以下是使用Dir函数获取文件路径的一个例子:```Sub GetFilePath_Dir()Dim path As Stringpath = Dir("C:\ExampleFolder\ExampleFile.xlsx")Debug.Print pathEnd Sub```上述代码将返回文件路径"C:\ExampleFolder\ExampleFile.xlsx"。
可以根据需要修改Dir函数中的参数,以匹配不同的文件路径模式。
2. 使用FileDialog函数获取文件路径除了使用Dir函数外,还可以使用FileDialog函数来打开一个文件对话框,以允许用户选择文件路径。
以下是使用FileDialog函数获取文件路径的一个例子:```Sub GetFilePath_FileDialog()Dim path As VariantWith Application.FileDialog(msoFileDialogFilePicker).Title = "选择文件".ShowIf .SelectedItems.Count > 0 Thenpath = .SelectedItems(1)End IfEnd WithDebug.Print pathEnd Sub```上述代码将打开一个文件对话框,用户可以选择文件路径并将其存储在变量path中。
VBA中的文件路径与文件名操作技巧
VBA中的文件路径与文件名操作技巧VBA(Visual Basic for Applications)是一种广泛用于Microsoft Office应用程序中的编程语言。
在VBA中,文件路径和文件名操作是常见的需求,因为几乎所有的应用程序都需要与文件进行交互。
本文将介绍一些VBA中的文件路径和文件名操作技巧,帮助你更好地处理文件。
1. 获取文件路径获取文件路径是一个常见的需求,通常是为了打开文件、保存文件或对文件进行操作。
在VBA中,你可以使用FileSystemObject对象的GetAbsolutePathName方法来获取文件的绝对路径。
以下是一个示例代码:```Dim fso As ObjectSet fso = CreateObject("Scripting.FileSystemObject")Dim filePath As StringfilePath = fso.GetAbsolutePathName("filename.extension")```在这个示例代码中,你需要将"filename.extension"替换为你要操作的文件名和扩展名。
执行该代码后,`filePath`变量将保存文件的绝对路径。
另外,如果你想获取当前正在运行的VBA代码文件的路径,可以使用`ThisWorkbook.Path`方法。
这个方法提供了当前工作簿(Workbook)所在的目录路径。
2. 获取文件名获取文件名是另一个常见需求,有时你需要从文件路径中提取文件名。
VBA 提供了几种方法来获取文件名。
下面是两种常用的方法:方法一:使用FileSystemObject对象的GetFileName方法。
以下是一个示例代码:```Dim fso As ObjectSet fso = CreateObject("Scripting.FileSystemObject")Dim fileName As StringfileName = fso.GetFileName("C:\Folder\filename.extension")```在这个示例代码中,你需要将"C:\Folder\filename.extension"替换为你要操作的文件的绝对路径。
VB利用GetObject(WinMgmts)获取系统信息
For Each wbemObject In wbemObjectSet
WScript.Echo "物理内存 (MB): " & CInt(wbemObject.TotalPhysicalMemory/1024)
用WMI对象列出系统所有进程:
----Instance.vbs---- 程序代Βιβλιοθήκη Dim WMI,objs
Set WMI = GetObject("WinMgmts:")
Set objs = WMI.InstancesOf("Win32_Process")
For Each obj In objs
next
msgbox infor
CPU的序列号:
---CPUID.vbs---
程序代码
Dim cpuInfo
cpuInfo = ""
set moc = GetObject("Winmgmts:").InstancesOf("Win32_Processor")
for each mo in moc
for each mo in moc
HDid = mo.Model
msgbox "硬盘型号为:" & HDid
next
网卡MAC物理地址:
---MACAddress.vbs---
程序代码
Dim mc
vb 获取路径
vb 获取路径在VB编程中,获取路径是一项基本操作。
本文将介绍两种在VB中获取路径的方法,并比较它们的特点和适用场景。
一、使用内置函数获取路径在VB中,可以使用内置的函数来获取路径。
其中,最为常用的函数是“Mid”和“Left”。
1.Mid函数Mid函数的作用是从一个字符串的中间截取一部分字符。
其语法格式为:Mid(string, start, length)。
其中,string表示原字符串,start表示开始位置,length表示截取长度。
例如,我们有一个字符串“C:UsersUsernameDocumentsexample.txt”,想要获取“Users”和“example.txt”之间的部分,可以使用以下代码:```vbDim path As Stringpath = Mid(MyPath, 7, 22)```2.Left函数Left函数的作用是从一个字符串的左边截取一部分字符。
其语法格式为:Left(string, length)。
其中,string表示原字符串,length表示截取长度。
使用Left函数获取上述路径中的“Users”和“example.txt”之间的部分,代码如下:```vbDim path As Stringpath = Left(MyPath, 22)```二、使用字符串操作获取路径除了使用内置函数,我们还可以通过字符串操作来获取路径。
1.字符串连接在VB中,可以使用“&”运算符将多个字符串连接在一起。
例如,获取上述路径中的“Users”和“example.txt”之间的部分,可以使用以下代码:```vbDim path As Stringpath = MyPath & "Users" & "example.txt"```2.字符串截取可以使用Left、Mid等函数对字符串进行截取。
例如,获取上述路径中的“Users”和“example.txt”之间的部分,可以使用以下代码:```vbDim path As Stringpath = Left(MyPath, 7) & "Users" & Left(Right(MyPath, 29), 24)```三、总结在VB中,获取路径的方法多种多样。
VBA高级运用
常用VBS代码1.VBS获取路径集合1.1.VBS获取系统安装路径程序代码set WshShell = WScript.CreateObject("WScript.Shell")strWinDir = WshShell.ExpandEnvironmentStrings("%WinDir%")上面的代码意思是先定义这个变量是获取系统安装路径的,然后我们用"&strWinDir&"调用这个变量。
1.2.C:\Program Files路径程序代码msgbox CreateObject("WScript.Shell").ExpandEnvironmentStrings("%ProgramFiles%")1.3.C:\Program Files\Common Files路径程序代码msgbox CreateObject("WScript.Shell").ExpandEnvironmentStrings("%CommonProgramFiles%")2.给桌面添加网址快捷方式程序代码set gangzi = WScript.CreateObject("WScript.Shell")strDesktop = gangzi.SpecialFolders("Desktop")set oShellLink = gangzi.CreateShortcut(strDesktop & "\Internet Explorer.lnk") oShellLink.TargetPath = ""oShellLink.Description = "Internet Explorer"oShellLink.IconLocation = "%ProgramFiles%\Internet Explorer\iexplore.exe, 0" oShellLink.Save3.给收藏夹添加网址程序代码Const ADMINISTRATIVE_TOOLS = 6Set objShell = CreateObject("Shell.Application")Set objFolder = space(ADMINISTRATIVE_TOOLS)Set objFolderItem = objFolder.SelfSet objShell = WScript.CreateObject("WScript.Shell")strDesktopFld = objFolderItem.PathSet objURLShortcut = objShell.CreateShortcut(strDesktopFld & "\小游戏网站.url") objURLShortcut.TargetPath = "/?ie"objURLShortcut.Save4.删除指定目录指定后缀文件程序代码On Error Resume NextSet fso = CreateObject("Scripting.FileSystemObject")fso.DeleteFile "C:\*.vbs", TrueSet fso = Nothing上面代码为删除C盘根目录下后缀为vbs的文件5.VBS改主页程序代码Set oShell = CreateObject("WScript.Shell")oShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Start Page",""6.VBS加启动项程序代码Set oShell=CreateObject("Wscript.Shell")oShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\cmd","cmd.exe"7.VBS复制自己程序代码set copy1=createobject("scripting.filesystemobject")copy1.getfile(wscript.scriptfullname).copy("c:\huan.vbs")复制自己到C盘的huan.vbs程序代码set copy1=createobject("scripting.filesystemobject")copy1.getfile("game.exe").copy("c:\gangzi.exe")复制本vbs目录下的game.exe文件到c盘的gangzi.exe8.VBS获取系统临时目录程序代码Dim fsoSet fso = CreateObject("Scripting.FileSystemObject")Dim tempfolderConst TemporaryFolder = 2Set tempfolder = fso.GetSpecialFolder(TemporaryFolder)Wscript.Echo tempfolder9.就算代码出错依然继续执行程序代码On Error Resume Next10.VBS打开网址程序代码Set objShell = CreateObject("Wscript.Shell")objShell.Run("/")11.VBS发送邮件程序代码NameSpace = "/cdo/configuration/" Set Email = CreateObject("CDO.Message")Email.From = "发件@"Email.To = "收件@"Email.Subject = "Test sendmail.vbs"Email.Textbody = "OK!"Email.AddAttachment "C:\1.txt"With Email.Configuration.Fields.Item(NameSpace&"sendusing") = 2.Item(NameSpace&"smtpserver") = "smtp.邮件服务器.com".Item(NameSpace&"smtpserverport") = 25.Item(NameSpace&"smtpauthenticate") = 1.Item(NameSpace&"sendusername") = "发件人用户名".Item(NameSpace&"sendpassword") = "发件人密码".UpdateEnd WithEmail.Send12.VBS结束进程程序代码strComputer = "."Set objWMIService = GetObject _("winmgmts:\\" & strComputer & "\root\cimv2")Set colProcessList = objWMIService.ExecQuery _("Select * from Win32_Process Where Name = 'Rar.exe'") For Each objProcess in colProcessListobjProcess.Terminate()Next13.VBS隐藏打开网址13.1.部分浏览器无法隐藏打开,而是直接打开,适合主流用户使用程序代码createObject("wscript.shell").run "iexplore /",013.2.兼容所有浏览器,使用IE的绝对路径+参数打开,无法用函数得到IE安装路径,只用函数得到了Program Files路径,应该比上面的方法好,但是两种方法都不是绝对的。
四、VBA获取目录、文件路径简明代码(VB语句、FSO两种方式)
四、VBA获取目录、文件路径简明代码(VB语句、FSO两种方式)(一)VB语句方式''''程序入口↓''''获取所有文件路径Sub GetFileList()Call GetFolderList ''''调用GetFolderList()过程获取所有文件夹路径Columns(2).ClearDim fileName, folderPath As StringDim rowIndexA, rowIndexB, maxRow, lastRowA As Integer maxRow = Rows.CountlastRowA = Cells(maxRow,1).End(xlUp).RowFor rowIndexA =1To lastRowAfolderPath = Cells(rowIndexA,1).ValuefileName = Dir(folderPath)rowIndexB = Cells(maxRow,2).End(xlUp).Row +1Do While fileName <>""Cells(rowIndexB,2).Value = folderPath & fileNamerowIndexB = rowIndexB +1fileName = DirLoopNext rowIndexAEnd Sub''''获取GetMainDirectory拾取文件夹路径下的所有文件夹,放到A列Sub GetFolderList()Dim folderName As StringDim i, k As IntegerColumns(1).ClearCells(1,1).Value = GetMainDirectory(msoFileDialogFolderPicker)&"\"i =1k =1Do While i <= kfolderName = Dir(Cells(i,1).Value, vbDirectory)DoIf InStr(folderName,".")=0And _(GetAttr(Cells(i,1).Value & folderName)And vbDirectory)= vbDirectory Thenk = k +1Cells(k,1).Value = Cells(i,1).Value & folderName &"\"End IffolderName = DirLoop Until folderName =""i = i +1LoopEnd Sub''''函数,拾取一个文件夹路径,返回路径字符串Function GetMainDirectory(ByVal DialogType As MsoFileDialogType)As StringWith Application.FileDialog(DialogType)If.Show =True ThenGetMainDirectory =.SelectedItems(1)End IfEnd WithEnd Function(二)FSO方式''''##############################''''工具——引用类库文件"Microsoft Scripting Runtime"''''##############################''''程序入口↓''''获取文件列表Sub FsoGetFileList()Dim folderPath As StringDim maxRow, lastRow, maxRowB, LastRowB As IntegerDim i As IntegerDim folder, allFiles As ObjectDim fso As New FileSystemObjectCall FsoGetFolderList ''''调用FsoGetFolderList方法获取目录列表Columns(2).ClearmaxRow = Rows.CountlastRow = Cells(maxRow,1).End(xlUp).RowFor i =1To lastRowfolderPath = Cells(i,1).ValueSet folder = fso.GetFolder(folderPath)Set allFiles = folder.FilesmaxRowB = Rows.CountLastRowB = Cells(maxRowB,2).End(xlUp).Row +1For Each File In allFilesCells(LastRowB,2).Value = File.PathLastRowB = LastRowB +1NextNext iEnd Sub''''获取文件夹列表Sub FsoGetFolderList()Dim rowIndex As IntegerDim folderPath As String''''调用函数获取主文件夹目录folderPath = GetMainDirectory(msoFileDialogFolderPicker) rowIndex =1Columns(1).ClearDoIf rowIndex =1ThenGetFolderPath (folderPath)Cells(rowIndex,1).Value = folderPathElseGetFolderPath (Cells(rowIndex,1).Value)End IfrowIndex = rowIndex +1Loop Until Cells(rowIndex,1).Value =""End Sub''''定义函数,作用是获取给定文件夹路径(mainFolderPath)的子文件夹Function GetFolderPath(mainFolderPath)Dim mainFolder, childFolders As ObjectDim index As Integer''''创建FileSystemObject对象fsoDim fso As New FileSystemObject''''从路径获得folder对象mainFolderSet mainFolder = fso.GetFolder(mainFolderPath)''''获得mainFolder的子目录集合childFoldersSet childFolders = mainFolder.SubFolders''''行号初始值设定为A列最后一个非空行的+1行,第一次执行的时候index=2index = Cells(Rows.Count,1).End(xlUp).Row +1''''for each ……in 遍历集合取每一个子目录childFolder的路径pathFor Each childfolder In childFoldersCells(index,1).Value = childfolder.Path ''''路径index = index +1NextEnd Function''''函数,拾取一个文件夹路径,返回路径字符串Function GetMainDirectory(ByVal DialogType As MsoFileDialogType)As StringWith Application.FileDialog(DialogType)If.Show =True ThenGetMainDirectory =.SelectedItems(1)End IfEnd WithEnd Function。
vb 调用路径
vb 调用路径VB(Visual Basic)是一种面向对象的程序设计语言,可用于开发Windows平台下的应用程序。
在VB中调用路径可以指文件路径、目录路径或网络路径。
下面将详细介绍如何在VB中调用这些路径:1. 文件路径调用:在VB中,可以使用FileSystemObject对象的GetAbsolutePathName方法来获取文件的绝对路径。
首先,需要引入"Microsoft Scripting Runtime"组件,然后创建FileSystemObject对象,最后调用GetAbsolutePathName方法即可。
以下是一个示例代码:Imports Microsoft.VisualBasic.FileIO...Dim filePath As String = "C:\folder\file.txt"Dim fso As New FileSystemObject()Dim absolutePath As String = fso.GetAbsolutePathName(filePath)2. 目录路径调用:对于目录路径的调用,可以使用Directory类中的方法来实现。
例如,可以使用Directory.Exists方法来检查目录是否存在,使用Directory.CreateDirectory 方法来创建目录等。
以下是一个示例代码:Imports System.IO...Dim directoryPath As String = "C:\folder"If Directory.Exists(directoryPath) ThenDirectory.CreateDirectory(directoryPath & "\newFolder")End If3. 网络路径调用:在VB中,可以使用.NET框架的相关类来实现对网络路径的调用。
VBA获取系统环境变量及特殊文件夹的各种代码与方法(转载)
VBA获取系统环境变量及特殊⽂件夹的各种代码与⽅法(转载)这⼏天帮客户做个系统,需要获到系统环境变量及⼀些特殊⽂件夹。
收集和研究了各种代码。
记录⼀下,以免⾃⼰忘记,同时也分享⼀下给⼤家,避免⼤家遇到同样问题时,再去花费⼤量时间。
⼀、我个⼈整理出来的⼀些⼼得和经验:1.Environ("AllUsersProfile") 在XP下获取的是 C:\Documents and Settings\All Users在win7 win8下获取的是C:\ProgramData有所不同,这个差异请注意2.XP 与win7 ⼤多的变量是可以对应的,但也有些是对应不到的环境变量(environment variables)⼀般是指在操作系统中⽤来指定操作系统运⾏环境的⼀些参数,如:临时⽂件夹位置和系统⽂件夹位置等。
环境变量是在操作系统中⼀个具有特定名字的对象,它包含了⼀个或者多个应⽤程序所将使⽤到的信息。
例如Windows和DOS操作系统中的path环境变量,当要求系统运⾏⼀个程序⽽没有告诉它程序所在的完整路径时,系统除了在当前⽬录下⾯寻找此程序外,还应到path中指定的路径去找。
⽤户通过设置环境变量,来更好的运⾏进程。
⼆、常⽤windows系统环境变量清单%USERPROFILE% 表⽰ C://Documents and Settings//当前⽤户名%ALLUSERSPROFILE% 表⽰ C://Documents and Settings//All Users%APPDATA% 表⽰ C://Documents and Settings//当前⽤户名//Application Data%ALLAPPDATA% 表⽰ C://Documents and Settings//All Users//Application Data%SYSTEMDRIVE% 表⽰ C:%HOMEDRIVE% 表⽰ C://%SYSTEMROOT% 表⽰ C://WINDOWS%WINDIR% 表⽰ C://WINDOWS%TEMP% 和 %TMP% 表⽰ C://Documents and Settings//当前⽤户名//Local Settings//Temp%ProgramFiles% 表⽰ C://Program Files%CommonProgramFiles% 表⽰ C://Program Files//Common Files设置环境变量有两种⽅式:第⼀种是在命令提⽰符运⾏窗⼝中设置;第⼆种是通过单击“我的电脑→属性→⾼级”标签的“环境变量”按钮设置。
利用VB控件操作目录和文件夹
利用VB控件操作目录和文件夹(一)察看和显示目录下的文件和文件夹对于这个实现,其实很简单。
首先想到的就是VB中给我们提供的现成的控件。
主要有这么两类:一类是驱动器列表框(DriveListBox)、目录列表框(DirListBox)和文件列表框(FileListBox)三个控件组合而成的自定义对话框;另一类是windows提供的标准对话框。
他们在工具箱中的位置和图标如下所示:1、驱动器列表框是一个下拉式的列表框,他和一般下拉式的列表框的不同仅在于功能上的不同,它提供了一个驱动器的列表。
当单击右边的箭头时,则弹出计算机中的所有驱动器的下拉列表。
默认状态下,在驱动器列表中显示的是当前驱动器,我们可以输入或从下拉列表中选择有效的驱动器标示符。
下面是它的主要属性,事件和方法.属性Drive本属性用于返回或设置运行时选择的驱动器.默认值为当前驱动器改变Drive属性会触发Change事件.示例: Drive1.Drive = “c:”设置C盘为当前驱动器.事件Change当选择一个新驱动器或通过代码改变了Drive属性时触发该事件下面是示例代码:Private Sub Drive1_Change()Dir1.Path = Drive1.Drive'当选择一个新驱动器时,将驱动器列表中选中的当前驱动器,赋给目录列表的路径.End Sub2、目录列表框目录列表框用于显示当前驱动器的目录结构,目录列表框从最高层目录开始,显示当前驱动器的目录结构,并按层次关系缩进跟目录下的所有子目录。
下面是它的主要属性,方法和事件:属性Path本属性用于返回或设置运行时选择的路径,默认路径为当前路径.改变Dri属性会触发Change事件.示例: Dri1.Path = Drive1.Drive设置在驱动器列表框中选中的驱动器盘符为目录列表的当前路径.ListIndex本属性用来返回或设置控件中当前被选择的项目索引号.目录列表框中的每一个目录都可以通过ListIndex属性来标识.由Path 属性所设置的当前目录的ListIndex属性值总是-1,而它上面的目录的ListIndex属性值为-2,再上面的为-3,以此类推;而它所包含的子目录恰恰相反,紧挨着的第一个子目录的ListIndex属性值为0,往下一次加一.ListCount本属性返回当前目录下的所有子目录书.ListCount的值比最大的ListIndex的值大1.事件Change当选择一个新目录或通过代码改变了Path属性时触发该事件下面是示例代码:Private Sub Dir1_Change()'将文件列表框的路径值,设置为目录列表框所选中的路径值File1.Path = Dir1.PathEnd Sub3、文件列表框文件列表框用来显示当前目录中的部分或者全部文件.文件列表框的大部分属性和一般的列表框相同,都具有大小,位置,字体,颜色等以及List,ListCount,ListIndex等属性.下面是主要的属性:属性Path本属性用于返回或设置运行时选择的路径以显示其下的文件,默认路径为当前路径.改变Dri属性会触发PathChange事件.示例: File1.Path= Dri1.Path设置在目录列表框中选中的路径为文件列表的当前路径.Pattern本属性用来确定程序运行时,列表框中显示那些类型的文件.除了使用”*” ”?”等通配符外,在参数中还可以使用分号”;”来分割多种文件类型.例如:”*.ext;*.bat”FileName本属性返回或设置所选文件的路径和文件名.可以从本属性值中返回当前列表中选择的文件名.路径可用Path属性单独检索.在功能上,本属性值与ListIndex等价.如果没有文件被选中,FileName 属性将返回0长度的字符串.改变甭属性值可能会产生一个或多个如下事件:PathChange(如果改变路径),PatternChange(如果改变模式),DblClick(如果指定存在的文件)事件Click当选择一个新的文件时触发该事件下面是示例代码:Private Sub File1_Click()Picture1.Picture = LoadPicture(Dir1.Path & " " & File1.FileName)'在图片框中显示选定的图形文件.End Sub4、标准对话框CommonDialog控件提供了一组标准的操作对话框,进行诸如打开,和保存文件,设置打印选项,以及选择颜色和字体等操作.通过运行windows帮助引擎还能显示帮助.CommonDialog控件在visual basic和Microsoft Windows动态链接库commdlg.dll的例程之间提供了一个接口.为了用这个控件创建一个对话框,commdlg.dll必须存在于microsoft Windows的system目录下.然后再visual basic中选择工程/部件,并在显示的部件对话框中选中Microsoft common Dialog Control 6.0,确定后,在工具栏里就显示了出来.如下图所示:在应用程序中要使用CommonDialog控件,可将其添加到窗体中并设置其属性.控件所显示的对话框有控件的方法确定.在运行时,当相应的方法被调用时,将显示一个对话框或是执行帮助引擎;在设计时,CommonDialog 控件是以图标的形式显示在窗体中的.该图标的大小不能改变.使用指定的方法,CommonDialog控件能够显示下列对话框:方法所显示的对话框ShowOpen显示[打开]对话框ShowSave显示[另存为]对话框ShowColor显示[颜色]对话框ShowFont显示[字体]对话框ShowPrinter显示[打印]或[打印选项]对话框Showhelp显示windows帮助引擎下面是它的主要属性,方法:属性Filer该属性应用于CommonDialog控件中的[打开][另存为]对话框.本属性用来返回或设置在对话框[类型]列表框中显示的过滤器.过滤的作用是确定对话框中文件列表框中显示的文件类型.例如:设置为*.txt时,将显示文本文件.要显示多种类型的文件,可以用管道(|)符号(ASCII124)将他们分开.管道符号前后不能加空格.如:*.rm|*.rmvb Action该属性返回或设置一个表示所显示对话框类型的整数.具体如下.设置数值说明0没有操作1显示[打开]对话框2显示[另存为]对话框3显示[颜色]对话框4显示[字体]对话框5显示[打印]或[打印选项]对话框6运行WINHLP32.EXEFileName本属性应用于CommonDialog控件的[打开][另存为]对话框.本属性返回或设置所选文件的路径和文件名.如果在运行时被创建,FileName属性将返回0长度的字符串,表示当前没有选择文件.在CommonDialog控件里,可以在打开对话框之前设置FileName属性来设定初始文件名.可以从本属性值中返回当前列表中选择的文件名.路径可用Path属性单独检索.在功能上,本属性值与ListIndex等价.如果没有文件被选中,FileName属性将返回0长度的字符串.改变甭属性值可能会产生一个或多个如下事件:PathChange(如果改变路径),PatternChange(如果改变模式),DblClick(如果指定存在的文件)事件Click当选择一个新的文件时触发该事件下面是一个例子:我们在这里要做一个VCD的播放器,下面是界面.下表是其中所用到的控件及其属性设置:对象特性设置值窗体名称FrmvcdBorderStyle1CaptionVCD播放器菜单标题文件名称Mnufile标题打开名称Mnuopen标题播放名称Mnuplay标题退出名称Mnuexit标题选项名称Mnuoption标题连续播放名称Mnurepeat标题静音名称Mnuslient多媒体控件名称MmcontrolPicture控件名称Picture1通用对话框名称Commondialog1下面是主要程序代码代码:Private Sub mnuopen_Click() ’当点击菜单中的打开时执行'在未选择文件时,文件名为空字符,播放菜单不可用mnuplay.Enabled =FalseCommonDialog1.FileName = ""'下面语句设置文件过滤方式,可显示扩展名为avi,dat,wav和mid 文件CommonDialog1.Filter = "(*.avi)|*.avi|(*.wave)|*.wav|(vcd *.dat)|*.dat|(midi *.mid)|*.mid"'初始化文件过滤方式为*.aviCommonDialog1.FilterIndex = 1'建立打开方式的通用对话框,也可使用commondialog1.showopenCommonDialog1.Action = 1'打开一个文件前先关闭前一次被打开的多媒体设备mand = "close"Select CommonDialog1.FilterIndexCase 1 '选择*.avi'设置多媒体设备类型为avividioMMControl1.DeviceType = "avividio"'设置时间格式为帧MMControl1.TimeFormat = 3'设置播放的文件为通用对话框中选择的文件MMControl1.FileName = CommonDialog1.FileName'打开文件mand = "open "Case 2 '选择*.wav'设置多媒体设备类型为waveaudioMMControl1.DeviceType = "waveaudio"'设置时间格式为帧MMControl1.TimeFormat = 3'设置播放的文件为通用对话框中选择的文件MMControl1.FileName = CommonDialog1.FileName'打开文件mand = "open "Case 3 '选择*.dat'设置多媒体设备类型为MpegvidioMMControl1.DeviceType = "Mpegvidio"'设置时间格式为帧MMControl1.TimeFormat = 3'设置播放的文件为通用对话框中选择的文件MMControl1.FileName = CommonDialog1.FileName'打开文件mand = "open "Case 4 '选择*.mid'设置多媒体设备类型为waveaudioMMControl1.DeviceType = "waveaudio"'设置时间格式为帧MMControl1.TimeFormat = 3'设置播放的文件为通用对话框中选择的文件MMControl1.FileName = CommonDialog1.FileName'打开文件mand = "open "End Select'设置hwnddisplay的值,使媒体文件能够在picture控件中播放MMControl1.hWndDisplay = Picture1.hWndEnd Sub(二)新建、修改、删除目录以上控件除了通用对话框(CommonDialog)之外一般只能显示当前的目录结构,对于在磁盘上新建、修改、删除目录却基本无能为力。
VBA中目录操作的实用技巧
VBA中目录操作的实用技巧VBA(Visual Basic for Applications)是一种用于自动化任务的编程语言,它被广泛应用于Microsoft Office套件中的各种应用程序,如Excel、Word和PowerPoint。
在这些应用程序中,目录操作是开发人员经常需要处理的任务之一。
本文将介绍几个VBA中目录操作的实用技巧,帮助您更好地处理和管理文件目录。
1. 查找文件夹和文件在VBA中,可以使用FileSystemObject对象来执行与文件和文件夹有关的操作。
要查找特定文件夹中的文件,您可以使用以下代码:```Sub FindFilesInFolder()Dim FileSystem As ObjectDim Folder As ObjectDim File As ObjectSet FileSystem = CreateObject("Scripting.FileSystemObject")Set Folder = FileSystem.GetFolder("C:\目录路径")'循环遍历文件夹中的文件For Each File In Folder.Files'处理文件操作Next FileEnd Sub```在上述代码中,“C:\目录路径”是您要查找的文件夹的路径。
通过循环遍历文件夹中的文件,您可以对每个文件执行特定的操作,如复制、移动或重命名。
如果您要查找特定文件夹中的特定文件,可以将上述代码中的循环遍历修改为以下代码:```For Each File In Folder.FilesIf Like "*.txt" Then '查找扩展名为txt的文件'处理文件操作End IfNext File```在上述代码中,使用了通配符“*”来匹配文件名中的任意字符,并且使用“Like”关键字来比较文件名与模式是否匹配。
VB利用GetObject(WinMgmts)获取系统信息
VB利用GetObject(WinMgmts)获取系统信息用WMI对象列出系统所有进程:----Instance.vbs----程序代码Dim WMI,objsSet WMI = GetObject("WinMgmts:")Set objs = WMI.InstancesOf("Win32_Process")For Each obj In objsEnum1 = Enum1 + obj.Description + Chr(13) + Chr(10)Nextmsgbox Enum1获得物理内存的容量:-----physicalMemory.vbs-----程序代码strComputer = "."Set wbemServices = GetObject("winmgmts://" & strComputer)Set wbemObjectSet = wbemServices.InstancesOf("Win32_LogicalMemoryConfiguratio n")For Each wbemObject In wbemObjectSetWScript.Echo "物理内存(MB): " & CInt(wbemObject.T otalPhysicalMemory/1024)Next取得系统所有服务及运行状态----service.vbs----程序代码Set ServiceSet = GetObject("winmgmts:").InstancesOf("Win32_Service") Dim s,inforinfor=""for each s in ServiceSetinfor=infor+s.Description+" ==> "+s.State+chr(13)+chr(10) nextmsgbox infor用WMI对象列出系统所有进程:----Instance.vbs----程序代码Dim WMI,objsSet WMI = GetObject("WinMgmts:")Set objs = WMI.InstancesOf("Win32_Process")For Each obj In objsEnum1 = Enum1 + obj.Description + Chr(13) + Chr(10)Nextmsgbox Enum1获得物理内存的容量:-----physicalMemory.vbs-----程序代码strComputer = "."Set wbemServices = GetObject("winmgmts://" & strComputer)Set wbemObjectSet = wbemServices.InstancesOf("Win32_LogicalMemoryConfiguratio n")For Each wbemObject In wbemObjectSetWScript.Echo "物理内存(MB): " & CInt(wbemObject.T otalPhysicalMemory/1024)Next取得系统所有服务及运行状态----service.vbs----程序代码Set ServiceSet = GetObject("winmgmts:").InstancesOf("Win32_Service") Dim s,inforinfor=""for each s in ServiceSetinfor=infor+s.Description+" ==> "+s.State+chr(13)+chr(10) nextmsgbox inforCPU的序列号:---CPUID.vbs---程序代码Dim cpuInfocpuInfo = ""set moc = GetObject("Winmgmts:").InstancesOf("Win32_Processor") for each mo in moccpuInfo = CStr(mo.ProcessorId)msgbox "CPU SerialNumber is : " & cpuInfonext硬盘型号:---HDID.vbs---程序代码Dim HDid,mocset moc =GetObject("Winmgmts:").InstancesOf("Win32_DiskDrive") for each mo in mocHDid = mo.Modelmsgbox "硬盘型号为:" & HDidnext网卡MAC物理地址:---MACAddress.vbs---程序代码Dim mcsetmc=GetObject("Winmgmts:").InstancesOf("Win32_NetworkAda pterConfiguration")for each mo in mcif mo.IPEnabled=true thenmsgbox "网卡MAC地址是: " & mo.MacAddressexit forend ifnext测试你的显卡:程序代码On Error Resume NextDim yeDim yexj00setyexj00=GetObject("winmgmts:{impersonationLevel=impersonat e}").InstancesOf("Win32_VideoController")for each ye in yexj00msgbox " 型号: " & ye.VideoProcessor & vbCrLf & " 厂商: " & ye.AdapterCompatibility & vbCrLf & " 名称: " & /doc/3c7449383.html, & vbCrLf & " 状态: " & ye.Status & vbCrLf & " 显存: " & (ye.AdapterRAM/102 4000) & "MB" & vbCrLf & "驱动(dll): " & ye.InstalledDisplayDrivers & vbCrLf & "驱动(inf): " & ye.infFilename & vbCrLf & " 版本: " & ye.DriverVersion next。
VBA中的文件路径与目录操作技巧
VBA中的文件路径与目录操作技巧VBA(Visual Basic for Applications)是一种编程语言,用于在Microsoft Office中自定义宏和程序。
在进行文件处理时,了解和熟练掌握VBA中的文件路径和目录操作技巧是非常重要的。
本文将介绍一些在VBA中处理文件路径和目录的常用技巧和方法。
1. 获取当前工作目录使用VBA的CurDir函数可以获取当前工作目录的路径。
该函数返回一个字符串,表示当前工作目录的完整路径。
下面是一个示例:```vbaSub GetCurrentDirectory()Dim currentPath As StringcurrentPath = CurDirMsgBox currentPathEnd Sub```2. 获取文件路径和文件名使用VBA的FileOpen函数可以打开一个文件,获取其路径和文件名。
通过获取文件路径和文件名,我们可以进行进一步的处理。
下面是一个示例:```vbaSub GetFilePathAndFileName()Dim filePath As StringDim fileName As StringfilePath = Application.GetOpenFilename()fileName = Mid(filePath, InStrRev(filePath, "\") + 1,Len(filePath) - InStrRev(filePath, "\"))MsgBox "文件路径:" & filePath & vbCrLf & "文件名:" & fileNameEnd Sub```3. 检查目录是否存在在VBA中,可以使用Dir函数来检查指定目录是否存在。
Dir函数返回一个非空字符串,表示目录存在;返回一个空字符串,表示目录不存在。
VBA编程中的文件路径操作技巧与实践经验
VBA编程中的文件路径操作技巧与实践经验VBA(Visual Basic for Applications)是一种用于Office应用程序的编程语言,它可以让用户自定义功能和自动化任务。
在VBA编程中,文件路径操作是非常重要且常见的任务之一。
本文将介绍一些VBA编程中的文件路径操作技巧和实践经验,帮助读者更有效地处理文件路径。
1. 获取当前工作路径在VBA编程中,获取当前工作路径是很有用的操作。
可以使用VBA的`CurDir`函数来获取当前工作路径。
该函数返回一个字符串,表示当前工作路径。
```vbaDim currentPath As StringcurrentPath = CurDir```2. 获取文件路径有时候我们需要获取一个文件的路径,可以使用`Application.GetOpenFilename`或`Application.GetSaveAsFilename`函数获取文件路径。
`GetOpenFilename`函数将打开文件对话框,用户可以选择一个文件并返回其路径。
`GetSaveAsFilename`函数将打开保存文件对话框,用户可以指定文件名和路径并返回路径。
Dim filePath As StringfilePath = Application.GetOpenFilename```3. 拼接路径在VBA编程中,拼接路径是常见的操作。
可以使用`&`操作符将两个字符串拼接起来,构成新的路径。
```vbaDim folderPath As StringDim fileName As StringDim fullPath As StringfolderPath = "C:\Path\to\Folder\"fileName = "file.txt"fullPath = folderPath & fileName```4. 判断路径是否存在在VBA编程中,有时候需要判断一个文件或文件夹是否存在。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VB获得Windows各类系统目录的方法现在有很多关于如何用VB获得Windows目录的文章,但大都只讲到如何获得Windows目录和System目录,有时候我们却需要获得像"我的文档"这样的目录("我的文档"的路径并不是固定的,可以由自己设定,也有可能因为系统的安装路径不同而不同),那又该如何处理呢?下面我们来具体谈谈如何用VB获得这种路径。
先向大家介绍两个API函数,这两个函数分别是SHGetSpecialFolderLocation和SHGetPathFromIDList,这就是我们用来获得各种路径的武器。
函数声明:Private Declare Function SHGetSpecialFolderLocation Lib "Shell32" (ByVal hwndOwner As Long, ByVal nFolder As Integer, ppidl As Long) As LongPrivate Declare Function SHGetPathFromIDList Lib "Shell32" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal szPath As String) As Long函数功能及参数说明:SHGetSpecialFolderLocation:获得某个特殊目录在特殊目录列表中的位置;它有三个参数,第一个参数是用来指定所有者窗口的,在应用中一般我们写上"0"就可以了;第二个参数是一个整数id,它决定要查找的目录是哪一个目录,它的取值可能如下:&H0& '桌面&H2& '程序集&H5& '我的文档&H6& '收藏夹&H7& '启动&H8& '最近打开的文件&H9& '发送&HB& '开始菜单&H13& '网上邻居&H14& '字体&H15& 'ShellNew&H1A& 'Application Data&H1B& 'PrintHood&H20& '网页临时文件&H21& 'Cookies目录&H22& '历史第三个参数是获得的特殊目录在特殊目录列表中的地址。
SHGetPathFromIDList:根据某特殊目录在特殊目录列表中的地址获取该目录的准确路径。
它有两个参数,第一个参数是特殊目录在特殊目录列表中的地址,也即上一个函数所获得的地址;第二个参数是一个字符串型数据,用来保存返回的特殊目录的准确路径。
比如:为了获得DeskTop的路径,首先需调用SHGetSpecialFolderLocation获得DeskTop在特殊目录列表中的位置Pid,然后调用SHGetPathFromIDList函数获得Pid指向的列表内容,即DeskTop的准确路径。
下面是我编写的一个用来获取Windows各种目录路径的例子,供大家参考。
如果您有什么问题或建议,欢迎给我来信(xuhaoliang@)。
程序界面如下:程序代码如下:Private Declare Function SHGetSpecialFolderLocation Lib "Shell32" (ByVal hwndOwner As Long, ByVal nFolder As Integer, ppidl As Long) As LongPrivate Declare Function SHGetPathFromIDList Lib "Shell32" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal szPath As String) As LongPrivate Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As LongPrivate Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As LongPrivate Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As LongConst MAX_LEN = 200 '字符串最大长度Const DESKTOP = &H0& '桌面Const PROGRAMS = &H2& '程序集Const MYDOCUMENTS = &H5& '我的文档Const MYFAVORITES = &H6& '收藏夹Const STARTUP = &H7& '启动Const RECENT = &H8& '最近打开的文件Const SENDTO = &H9& '发送Const STARTMENU = &HB& '开始菜单Const NETHOOD = &H13& '网上邻居Const FONTS = &H14& '字体Const SHELLNEW = &H15& 'ShellNewConst APPDATA = &H1A& 'Application DataConst PRINTHOOD = &H1B& 'PrintHoodConst PAGETMP = &H20& '网页临时文件Const COOKIES = &H21& 'Cookies目录Const HISTORY = &H22& '历史Private Sub Command2_Click()EndEnd SubPrivate Sub Form_Load()Dim sTmp As String * MAX_LEN '存放结果的固定长度的字符串Dim nLength As Long '字符串的实际长度Dim pidl As Long '某特殊目录在特殊目录列表中的位置'*************************获得Windows目录**********************************Length = GetWindowsDirectory(sTmp, MAX_LEN)txtWin.Text = Left(sTmp, Length)'*************************获得System目录***********************************Length = GetSystemDirectory(sTmp, MAX_LEN)txtSystem.Text = Left(sTmp, Length)'*************************获得Temp目录*********************************** Length = GetTempPath(MAX_LEN, sTmp)txtTemp.Text = Left(sTmp, Length)'*************************获得DeskTop目录********************************** SHGetSpecialFolderLocation 0, DESKTOP, pidlSHGetPathFromIDList pidl, sTmptxtDesktop.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)'*************************获得发送到目录********************************** SHGetSpecialFolderLocation 0, SENDTO, pidlSHGetPathFromIDList pidl, sTmptxtSendTo.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)'*************************获得我的文档目录********************************* SHGetSpecialFolderLocation 0, MYDOCUMENTS, pidlSHGetPathFromIDList pidl, sTmptxtDocument.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)'*************************获得程序集目录*********************************** SHGetSpecialFolderLocation 0, PROGRAMS, pidlSHGetPathFromIDList pidl, sTmptxtProgram.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)'*************************获得启动目录************************************* SHGetSpecialFolderLocation 0, STARTUP, pidlSHGetPathFromIDList pidl, sTmptxtStart.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)'*************************获得开始菜单目录********************************* SHGetSpecialFolderLocation 0, STARTMENU, pidlSHGetPathFromIDList pidl, sTmptxtStartMenu.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)'*************************获得收藏夹目录*********************************** SHGetSpecialFolderLocation 0, MYFAVORITES, pidlSHGetPathFromIDList pidl, sTmptxtFavorites.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)'**********************获得最后打开的文件目录******************************* SHGetSpecialFolderLocation 0, RECENT, pidlSHGetPathFromIDList pidl, sTmptxtRecent.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)'*************************获得网上邻居目录********************************* SHGetSpecialFolderLocation 0, NETHOOD, pidlSHGetPathFromIDList pidl, sTmptxtNetHood.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)'*************************获得字体目录********************************** SHGetSpecialFolderLocation 0, FONTS, pidlSHGetPathFromIDList pidl, sTmptxtFonts.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)'*************************获得Cookies目录********************************** SHGetSpecialFolderLocation 0, COOKIES, pidlSHGetPathFromIDList pidl, sTmptxtCookies.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)'*************************获得历史目录********************************** SHGetSpecialFolderLocation 0, HISTORY, pidlSHGetPathFromIDList pidl, sTmptxtHistory.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)'***********************获得网页临时文件目录******************************* SHGetSpecialFolderLocation 0, PAGETMP, pidlSHGetPathFromIDList pidl, sTmptxtPageTmp.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)'*************************获得ShellNew目录********************************* SHGetSpecialFolderLocation 0, SHELLNEW, pidlSHGetPathFromIDList pidl, sTmptxtShellNew.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)'***********************获得Application Data目录***************************** SHGetSpecialFolderLocation 0, APPDATA, pidlSHGetPathFromIDList pidl, sTmptxtAppData.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)'*************************获得PrintHood目录********************************* SHGetSpecialFolderLocation 0, PRINTHOOD, pidlSHGetPathFromIDList pidl, sTmptxtPrintHood.Text = Left(sTmp, InStr(sTmp, Chr(0)) - 1)End Sub。