如何调用API中的copyfile函数复制文件

VB中对CopyFile这个api做的说明如下:CopyFile-----------------------------------------------------... VB中对CopyFile这个api做的说明如下:CopyFile
-------------------------------------------------------------------------------------------------------
VB声明
Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
说明
复制文件。与vb的filecopy命令相似
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
lpExistingFileName String,源文件名
lpNewFileName String,目标文件名
bFailIfExists Long,如果设为TRUE(非零),那么一旦目标文件已经存在,则函数调用会失败。否则目标文件被改写
---------------------------------------------------------------------------------------------------------
这是API手册上的,我想知道在VB中如何调用它!以实现文件的复制~
不要写直接写“CopyFile 文件1,文件2”
我是想学习调用API,才举这个例子!
写的好~继续加分!
展开
 我来答
syx54
2013-03-28 · TA获得超过7379个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2763万
展开全部
要站在高一点看问题:
1,函数:
通常用:变量 = 函数名(参数列表)
这样,执行了这个命令,就返回一个值给变量
所以,这样你就记住函数的使用(调用)格式;
2,参数列表,是调用函数的时候,要告诉函数的自变量。
Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long

这个函数有三个参数:
ByVal lpExistingFileName As String
ByVal -- 该参数以传值方式进行调用

lpExistingFileName -- 参数的名称,代表源文件标识符

String -- 参数的数据类型为字符串类型

ByVal lpNewFileName As String

lpNewFileName -- 参数的名称,代表目标文件标识符

ByVal bFailIfExists As Long

bFailIfExists -- 参数的名称,设置当目标存在同名文件时是否继续复制;

当非0(True),那么一旦目标文件存在,则调用复制失败、
当为0(False),那么一旦目标文件存在,则复制成功并覆盖
最后,这个函数返回的是一个长整型,当返回0表示复制失败,非0表示成功;
在VB里使用:
代码如下:
Option Explicit
Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
Private Sub Command1_Click()
Dim a As Long
a = CopyFile("c:\1.bmp", "d:\1.bmp", 1)
If a = 0 Then
MsgBox "失败"
Else
MsgBox "成功"
End If
End Sub
匿名用户
2013-03-29
展开全部
头文件中包含这个就OK了
windows.h
#include<windows.h>

之后就是直接待用函数名,恩,貌似API函数对大小写敏感
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
韧劲9
2015-06-07 · TA获得超过9224个赞
知道小有建树答主
回答量:1638
采纳率:92%
帮助的人:356万
展开全部
CopyFile

说明 复制一个文件到新的地方; 目标可以是一个文件或端口. 返回一个逻辑值 (0 失败, 其它值则成功) 第三个参数也是一个逻辑值 - 0 失败其它值成功. 当复制到一个端口或队列的 UNC时, 第三个参数必须是 0.

失败原因可以调用 GetLastError() 来检查

宿主文件 KERNEL32.DLL

在 Visual FoxPro中的定义

DECLARE INTEGER CopyFile IN KERNEL32.DLL ;
STRING @SourceFileName, ;
STRING @DestFileName, ;
INTEGER bFailIfExists

Visual FoxPro 示例

DECLARE INTEGER CopyFile IN KERNEL32.DLL ;
STRING @SourceFileName, ;
STRING @DestFileName, ;
INTEGER bFailIfExists

cMySourceFileName = "C:\Program Files\Microsoft Visual Studio\Vfp98\VFP6.EXE"
cMyPortOrUNC = "C:\TMP\VFP6.EXE"

IF CopyFile(cMySourceFileName,cMyPortOrUNC,0) # 0
wait window "文件复制成功"
ELSE
wait window "文件复制失败"
ENDIF
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式