是这样的,我想将共享的文件拷贝到本地
共享文件地址为:aa=\\10.0.31.15\file\测试.txt
本地:bb=D:\
我直接用DOS:copy aa bb,成功了
我在VFP的表单里使用了以下代码:
Declare Integer ShellExecute In "Shell32.dll" Integer HWnd,String lpVerb,String lpFile,String lpParameters,String lpDirectory,Long nShowCmd
=Shellexecute(0,"Open","copy aa bb","","",1)
拷贝失败
请问这是怎么回事?哪里出了问题???
------解决方案--------------------------------------------------------
用不到 API,直接
aa='\\10.0.31.15\file\测试.txt'
bb='D:\'
Copy File (aa) To (bb)
*-- 或
Copy File '&aa.' To '&bb.'
------解决方案--------------------------------------------------------
aa='\\10.0.31.15\file\测试.txt'
bb='D:\'
ox=Createobject("wscript.shell")
ox.Run("cmd /c copy &aa. &bb.",0,1)
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
楼主感兴趣的是调用 Windows 操作系统提供的应用程序接口,简称 win32api(64位的也许会叫win64api,不过总会有兼容32位接口的 win32api 吧),这些可以下载、安装一个 msdn 来获得帮助。
vfp 帮助中所说的 api 是 vfp 如何用 c/c++ 编写 fll 扩展函数库,并在其中调用 vfp lck 提供的 api(也叫应用程序接口),这些 api 函数在 pro_ext.h 中有描述,与操作系统提供的 api 不是一回事。
------解决方案--------------------------------------------------------
Win32 API HELP?
Win32 API即为Microsoft 32位平台的应用程序编程接口(Application Programming Interface)。所有在Win32平台上运行的应用程序都可以调用这些函数。
使用Win32 API,应用程序可以充分挖掘Windows的32位操作系统的潜力。 Mircrosoft的所有32位平台都支持统一的API,包括函数、结构、消息、宏及接口。使用 Win32 API不但可以开发出在各种平台上都能成功运行的应用程序,而且也可以充分利用每个平台特有的功能和属性。
在具体编程时,程序实现方式的差异依赖于相应平台的底层功能的不同。最显著的差异是某些函数只能在更强大的平台上实现其功能。例如,安全函数只能在Windows NT操作系统下使用。另外一些主要差别就是系统限制,比如值的范围约束,或函数可管理的项目个数等等。
标准Win32 API函数可以分为以下几类:
窗口管理
窗口通用控制
Shell特性
图形设备接口
系统服务
国际特性
网络服务
在下面各节中,我们分别介绍这7种类型的API函数。
------解决方案--------------------------------------------------------
上面说的用wscript.shell调用DOS命令根本与API无关,这个叫COM组件的方式。
windows提供了大量的COM组件,可供任何语言调用(当然包括VFP),COM组件大部分也是DLL,但它与API不同,它不需要用Declare说明,而且支持智能感应提示功能。
如果对文件、文件夹的操作还嫌VFP本身功能太弱,不够,可以使用fso组件(fileSystemObject),它提供很多相关的操作。vbscript已经把所有文件功能都取消了,只能用这个组件操作文件了。
如楼主说的复制文件夹,就可以用CopyFolder方法实现。
fso=CreateObject("Scripting.FileSystemObject")
fso.CopyFolder(source,destination,overwrite)