计算机上并运行程序,程序能把安装下的某一文件复制到系统盘下,如 e:\vsflex.ocx
复制到c:\winet\system32\
另:如何能得到用户的安装目录 和 系统目录(因为有些用户可能将系统装到d:)
望各位大虾指教。谢谢。
6 个解决方案
#1
dim AppPath as string, SysPath as string
AppPath=App.Path
if Right(AppPath,1)<>"\" then AppPath=AppPath & "\"
AppPath=App.Path
if Right(AppPath,1)<>"\" then AppPath=AppPath & "\"
#2
FileCopy 语句
复制一个文件。
语法
FileCopy source, destination
FileCopy 语句的语法含有以下这些命名参数:
部分 描述
source 必要参数。字符串表达式,用来表示要被复制的文件名。source 可以包含目录或文件夹、以及驱动器。
destination 必要参数。字符串表达式,用来指定要复制的目地文件名。destination 可以包含目录或文件夹、以及驱动器。
说明
如果想要对一个已打开的文件使用 FileCopy 语句,则会产生错误。
复制一个文件。
语法
FileCopy source, destination
FileCopy 语句的语法含有以下这些命名参数:
部分 描述
source 必要参数。字符串表达式,用来表示要被复制的文件名。source 可以包含目录或文件夹、以及驱动器。
destination 必要参数。字符串表达式,用来指定要复制的目地文件名。destination 可以包含目录或文件夹、以及驱动器。
说明
如果想要对一个已打开的文件使用 FileCopy 语句,则会产生错误。
#3
还有一种简单的方法:
执行DOS命令
shell("command.com /c copy c:\123.txt d:\123.txt")
执行DOS命令
shell("command.com /c copy c:\123.txt d:\123.txt")
#4
你用什么做的安装程序,这个问题应该是在做安装程序时由制作安装程序的软件完成的,而不是我们在用VB编程时需要考虑的问题。当然如果你用VB现编安装程序除外。
#5
在VB里用这两个函数。
GetWindowsDirectory
VB声明
Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
说明
这个函数能获取Windows目录的完整路径名。在这个目录里,保存了大多数windows应用程序文件及初始化文件
返回值
Long,复制到lpBuffer的一个字串的长度。如lpBuffer不够大,不能容下整个字串,就会返回lpBuffer要求的长度。零表示失败。会设置GetLastError
参数表
参数 类型及说明
lpBuffer String,指定一个字串缓冲区,用于装载Windows目录名。除非是根目录,否则目录中不会有一个中止用的“\”字符
nSize Long,lpBuffer字串的最大长度
GetSystemDirectory
VB声明
Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
说明
这个函数能取得Windows系统目录(System目录)的完整路径名。在这个目录中,包含了所有必要的系统文件。根据微软的标准,其他定制控件和一些共享组件也可放到这个目录。通常应避免在这个目录里创建文件。在网络环境中,往往需要管理员权限才可对这个目录进行写操作
返回值
Long,装载到lpBuffer缓冲区的字符数量。如lpBuffer不够大,不能容下文件名,则返回要求的缓冲区长度
参数表
参数 类型及说明
lpBuffer String,用于装载系统目录路径名的一个字串缓冲区。它应事先初始化成nSize+1个字符的长度。通常至少要为这个缓冲区分配MAX_PATH个字符的长度
nSize Long,lpBuffer字串的最大长度
GetWindowsDirectory
VB声明
Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
说明
这个函数能获取Windows目录的完整路径名。在这个目录里,保存了大多数windows应用程序文件及初始化文件
返回值
Long,复制到lpBuffer的一个字串的长度。如lpBuffer不够大,不能容下整个字串,就会返回lpBuffer要求的长度。零表示失败。会设置GetLastError
参数表
参数 类型及说明
lpBuffer String,指定一个字串缓冲区,用于装载Windows目录名。除非是根目录,否则目录中不会有一个中止用的“\”字符
nSize Long,lpBuffer字串的最大长度
GetSystemDirectory
VB声明
Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
说明
这个函数能取得Windows系统目录(System目录)的完整路径名。在这个目录中,包含了所有必要的系统文件。根据微软的标准,其他定制控件和一些共享组件也可放到这个目录。通常应避免在这个目录里创建文件。在网络环境中,往往需要管理员权限才可对这个目录进行写操作
返回值
Long,装载到lpBuffer缓冲区的字符数量。如lpBuffer不够大,不能容下文件名,则返回要求的缓冲区长度
参数表
参数 类型及说明
lpBuffer String,用于装载系统目录路径名的一个字串缓冲区。它应事先初始化成nSize+1个字符的长度。通常至少要为这个缓冲区分配MAX_PATH个字符的长度
nSize Long,lpBuffer字串的最大长度
#6
Dim myfold As New FileSystemObject
myfold.copyfile SrcFile, DestFile
myfold.copyfile SrcFile, DestFile
#1
dim AppPath as string, SysPath as string
AppPath=App.Path
if Right(AppPath,1)<>"\" then AppPath=AppPath & "\"
AppPath=App.Path
if Right(AppPath,1)<>"\" then AppPath=AppPath & "\"
#2
FileCopy 语句
复制一个文件。
语法
FileCopy source, destination
FileCopy 语句的语法含有以下这些命名参数:
部分 描述
source 必要参数。字符串表达式,用来表示要被复制的文件名。source 可以包含目录或文件夹、以及驱动器。
destination 必要参数。字符串表达式,用来指定要复制的目地文件名。destination 可以包含目录或文件夹、以及驱动器。
说明
如果想要对一个已打开的文件使用 FileCopy 语句,则会产生错误。
复制一个文件。
语法
FileCopy source, destination
FileCopy 语句的语法含有以下这些命名参数:
部分 描述
source 必要参数。字符串表达式,用来表示要被复制的文件名。source 可以包含目录或文件夹、以及驱动器。
destination 必要参数。字符串表达式,用来指定要复制的目地文件名。destination 可以包含目录或文件夹、以及驱动器。
说明
如果想要对一个已打开的文件使用 FileCopy 语句,则会产生错误。
#3
还有一种简单的方法:
执行DOS命令
shell("command.com /c copy c:\123.txt d:\123.txt")
执行DOS命令
shell("command.com /c copy c:\123.txt d:\123.txt")
#4
你用什么做的安装程序,这个问题应该是在做安装程序时由制作安装程序的软件完成的,而不是我们在用VB编程时需要考虑的问题。当然如果你用VB现编安装程序除外。
#5
在VB里用这两个函数。
GetWindowsDirectory
VB声明
Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
说明
这个函数能获取Windows目录的完整路径名。在这个目录里,保存了大多数windows应用程序文件及初始化文件
返回值
Long,复制到lpBuffer的一个字串的长度。如lpBuffer不够大,不能容下整个字串,就会返回lpBuffer要求的长度。零表示失败。会设置GetLastError
参数表
参数 类型及说明
lpBuffer String,指定一个字串缓冲区,用于装载Windows目录名。除非是根目录,否则目录中不会有一个中止用的“\”字符
nSize Long,lpBuffer字串的最大长度
GetSystemDirectory
VB声明
Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
说明
这个函数能取得Windows系统目录(System目录)的完整路径名。在这个目录中,包含了所有必要的系统文件。根据微软的标准,其他定制控件和一些共享组件也可放到这个目录。通常应避免在这个目录里创建文件。在网络环境中,往往需要管理员权限才可对这个目录进行写操作
返回值
Long,装载到lpBuffer缓冲区的字符数量。如lpBuffer不够大,不能容下文件名,则返回要求的缓冲区长度
参数表
参数 类型及说明
lpBuffer String,用于装载系统目录路径名的一个字串缓冲区。它应事先初始化成nSize+1个字符的长度。通常至少要为这个缓冲区分配MAX_PATH个字符的长度
nSize Long,lpBuffer字串的最大长度
GetWindowsDirectory
VB声明
Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
说明
这个函数能获取Windows目录的完整路径名。在这个目录里,保存了大多数windows应用程序文件及初始化文件
返回值
Long,复制到lpBuffer的一个字串的长度。如lpBuffer不够大,不能容下整个字串,就会返回lpBuffer要求的长度。零表示失败。会设置GetLastError
参数表
参数 类型及说明
lpBuffer String,指定一个字串缓冲区,用于装载Windows目录名。除非是根目录,否则目录中不会有一个中止用的“\”字符
nSize Long,lpBuffer字串的最大长度
GetSystemDirectory
VB声明
Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
说明
这个函数能取得Windows系统目录(System目录)的完整路径名。在这个目录中,包含了所有必要的系统文件。根据微软的标准,其他定制控件和一些共享组件也可放到这个目录。通常应避免在这个目录里创建文件。在网络环境中,往往需要管理员权限才可对这个目录进行写操作
返回值
Long,装载到lpBuffer缓冲区的字符数量。如lpBuffer不够大,不能容下文件名,则返回要求的缓冲区长度
参数表
参数 类型及说明
lpBuffer String,用于装载系统目录路径名的一个字串缓冲区。它应事先初始化成nSize+1个字符的长度。通常至少要为这个缓冲区分配MAX_PATH个字符的长度
nSize Long,lpBuffer字串的最大长度
#6
Dim myfold As New FileSystemObject
myfold.copyfile SrcFile, DestFile
myfold.copyfile SrcFile, DestFile