VB获得Windows各类系统目录的方法

合集下载

vb 获取路径

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的环境,我决定写一个简单的东西来熟悉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 获取路径

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获取计算机系统信息

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中文件路径处理与管理的函数与技巧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中的文件路径与文件名操作技巧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)获取系统信息

VB利用GetObject(WinMgmts)获取系统信息
Set wbemObjectSet = wbemServices.InstancesOf("Win32_LogicalMemoryConfiguration")
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中获取路径的方法,并比较它们的特点和适用场景。

一、使用内置函数获取路径在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中,获取路径的方法多种多样。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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。

相关文档
最新文档