怎樣在 Visual FoxPro 中增加與去除網(wǎng)絡(luò)聯(lián)接
發(fā)布時(shí)間:2008-08-09 閱讀數(shù): 次 來源:網(wǎng)樂原科技
概述
在 FoxPro for Windows 2.x 中用 Foxtools.fll 和在 Visual FoxPro 中用 DECLARE DLL 命令定義相關(guān)的 Windows API(應(yīng)用程序編程接口)函數(shù), 可以在 FoxPro 中增加與去除網(wǎng)絡(luò)聯(lián)接.
僅管 Visual FoxPro 仍然支持 FOXTOOLS 庫(kù)作為向后兼容, DECLARE 命令是調(diào)用 DLL 函數(shù)的更好的方法.
更多信息
以下章節(jié)包括 FoxPro 2.x 和 Visual FoxPro 用法約定.
FoxPro 2.x
在 FoxPro 2.x 中用 FOXTOOLS 庫(kù), 按以下步驟添加和移除網(wǎng)絡(luò)連接.
用以下命令載入庫(kù):
SET LIBRARY TO SYS(2004)+'FOXTOOLS.FLL' ADDITIVE
注冊(cè)你要調(diào)用的 Windows API 函數(shù). 在目前情況下我們要用到的是 WNetAddConnection() 和 WNetCancelConnection().
addconn=RegFn('WNetAddConnection','CCC','I')
delconn=RegFn('WNetCancelConnection','CI','I')
要連接到網(wǎng)絡(luò)設(shè)備, 發(fā)布以下命令:
=CallFn(addconn,"\\SERVER\SHARE","password","<drive>:")
要斷開網(wǎng)絡(luò)連接, 發(fā)布以下命令:
=CallFn(delconn,"<drive>:",0)
Visual FoxPro
使用 DECLARE DLL 命令定義要調(diào)用的 DLL 函數(shù):
**-- DLL 定義
Declare integer WNetAddConnection in WIN32API string,string,string Declare integer Declare integer WNetCancelConnection in WIN32API String,integer
**-- 添加網(wǎng)絡(luò)連接
=WNetAddConnection("\\SERVER\SHARE", "", "DriveLetter:")
**-- 移除網(wǎng)絡(luò)連接
=WNetCancelConnection("DriveLetter:",0)
以下信息提供了這兩個(gè) API 調(diào)用的附加的參考材料.
WNetAddConnection()
WNetAddConnection() 函數(shù)重定向指定的本地設(shè)備 (磁盤或打印端口) 為給定的共享設(shè)備或遠(yuǎn)程設(shè)備. 它使用以下參數(shù):
lpszNetPathName
指向以 null 結(jié)尾的字符串,該字符串指定了要連接的網(wǎng)絡(luò)資源,如 \\Server\Share.
注意: 通常 Novell 用戶不使用 :: 符號(hào)來引用服務(wù)器和目錄. 例如, 不要試著用以下方法來引用一個(gè)目錄:
\\server\volume::\mydirectory.
而應(yīng)使用以下方法:
\\server\volume\mydirectory
lpszPassword
指向以 null 結(jié)尾的字符串,該字符串指定了要用來進(jìn)行連接操作的口令. 該參數(shù)通常是與當(dāng)前用戶相關(guān)的口令,如果該參數(shù)為 null ,那么使用缺省口令. 如果該字符串為空,則不使用口令(使用一介空串作為占位符):
=CallFn(addconn,"\\SERVER\SHARE","","<drive>:")
lpszLocalName
指向以 null 結(jié)尾的字符串,該字符串指定了要被重定向的本地設(shè)備.所有 lpszLocalName 串 (如 LPT1) 是要區(qū)分大小寫的. 只使用了設(shè)備名 A: 到 Z: 和 設(shè)備名 LPT1 到 LPT3.
WNetCancelConnection()
WNetCancelConnection() 函數(shù)取消網(wǎng)絡(luò)連接.它使用以下參數(shù):
lpszName
指向以 null 結(jié)尾的字符串,該字符串指定了重定向的本地設(shè)備名 (如 LPT1: 或 D:)或解除連接的遠(yuǎn)程網(wǎng)絡(luò)資源。當(dāng)該參數(shù)指定了一個(gè)重定向的本地設(shè)備,則該指定的設(shè)備的重定向被解除。若該參數(shù)指定了 一個(gè)遠(yuǎn)程網(wǎng)絡(luò)資源,那么只有該遠(yuǎn)程資源的連接而不是設(shè)備被解除。
fForce
指定即使在連接上有打開的文件或任務(wù)時(shí),是否任進(jìn)行中斷連接。 如果該參數(shù)為 FALSE ,那么在有打開的文件或任務(wù)時(shí),調(diào)用該函數(shù)失敗.
參考
關(guān)于 WNetAddConnection() 和 WNetCancelConnection() API 調(diào)用的更多信息, 請(qǐng)參閱 Microsoft Windows Software Development Kit (SDK) "程序員參考, 第二卷: 函數(shù),".
注意: API 調(diào)用返回值不會(huì)被 FoxPro for Windows 轉(zhuǎn)換.
關(guān)于 Visual FoxPro DECLARE 命令細(xì)節(jié), 請(qǐng)參閱 "DECLARE - DLL" 幫助主題