上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
Ruey
註冊時間: 2003-03-12 文章: 1698 來自: tunglo
第 1 樓
|
發表於: 星期三 八月 13, 2003 10:57 am 文章主題: 網路磁碟 |
|
|
Visual Foxpro 錦囊妙計
在VFP要如何設計,讓使用者可以去 MAP 到一個網路的槽區?
By Visual Foxpro User Club
利用Win32 API中的函式,能夠讓我們在VFP來進行網路槽區的 Mapping。以下的程式碼假設您要讓 M: 對映至Server上的MyDirectory這個分享名稱上:
DECLARE integer WNetAddConnection IN win32api string,string,string
cShare_Name = "\\ServerName\MyDirectory"
nOK = WNetAddConnection(cShare_Name, .NULL., "M:")
IF nOK = 0
WAIT WINDOW cShare_Name +"連結成功!"
ELSE
WAIT WINDOW"無法連結至" + cShare_Name
ENDIF
如果要切斷與網路磁碟機的連結:
DECLARE integer WNetCancelConnection2 IN WIN32API string,INTEGER
IF WNetCancelConnection2("R:",1)
WAIT "網路磁碟機切斷成功!"
ENDIF
Visual Foxpro 錦囊妙計
在 VFP 應用程式中,如何取得已用及可用的磁碟機代號?
By Visual Foxpro User Club
問題:
如何在Visual Foxpro 的應用程式中,取得目前已被用及可用的磁碟機代號 ?
說明:
取得可用的磁碟機代號,在實務開發上非常實用,VFP能夠讓我們彈性來使用Windows的資源,您可以利用Win32 API來查詢這些資料,以下便是利用 GetLogicalDrives() 這個API來取得這些資訊。
GetLogicalDrives()函式,會傳回一個數值,數值中的每一個bit其值若為 1,則表示該磁碟機為已用,其值為0則表示磁碟機為可用。在這個技巧中筆者還使用了VFP中的BitLshift()函式,來執行bit的運算。
請看以下程式碼:
Declare integer GetLogicalDrives in kernel32.dll AS Is_Driver_Ready
nReslut = Is_Driver_Ready()
cUsed_Driver = "已被用的磁碟機代號有: "
cAvail_Driver = "可用的磁碟機代號有: "
nMask = 1
FOR i = 1 TO 26
IF BITAND( nReslut, nMask) != 0
cUsed_Driver = cUsed_Driver + CHR(64+i) + ","
ELSE
cAvail_Driver = cAvail_Driver + CHR(64+i) + ","
ENDIF
nMask = BITLSHIFT(nMask,1)
NEXT
WAIT cUsed_Driver + chr(13) + cAvail_Driver WINDOW _________________ #############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!
學會VFP使用者社區的搜尋,Code才會更有趣~
############################# |
|
回頂端 |
|
|
Jerry
註冊時間: 2003-06-13 文章: 29 來自: 台灣.新竹.
第 2 樓
|
發表於: 星期三 八月 13, 2003 4:57 pm 文章主題: |
|
|
請問....
有可以直接用類似Getdir()的方法取得我所想要的共享網路目錄嗎 ? Tks! |
|
回頂端 |
|
|
小賴
註冊時間: 2004-12-27 文章: 470
第 3 樓
|
發表於: 星期二 七月 05, 2005 10:57 am 文章主題: |
|
|
請問:
網路芳鄰,電腦名稱:"小賴" ; 其d:磁碟機之temp目錄(D:\Temp)
如果要用WNetAddConnection Mapping 至 M: 應如何下參數 ? |
|
回頂端 |
|
|
小桑•無痕
註冊時間: 2003-07-08 文章: 304 來自: Tainan, Taiwan
第 4 樓
|
發表於: 星期二 七月 05, 2005 11:20 am 文章主題: |
|
|
小賴 寫到: | 請問:
網路芳鄰,電腦名稱:"小賴" ; 其d:磁碟機之temp目錄(D:\Temp)
如果要用WNetAddConnection Mapping 至 M: 應如何下參數 ? |
cShare_Name = "\\ServerName\MyDirectory"
\\ServerName << 電腦名稱
MyDirectory << 目錄共用名稱
Ex:
假設...小賴把D:\TEMP開放共用,共用名稱為LAI_HDD_D_TEMP
cShare_Name = "\\小賴\LAI_HDD_D_TEMP"
(To小賴....我沒測試過....不過應該是這樣..您Try看看吧 ) _________________ 用力 Try 一下...可以發現很多好玩的事.... |
|
回頂端 |
|
|
OLDSTONE
註冊時間: 2003-09-30 文章: 29
第 5 樓
|
發表於: 星期二 七月 05, 2005 3:52 pm 文章主題: |
|
|
**如果要切斷與網路磁碟機的連結:
Declare Integer WNetCancelConnection2 In WIN32API String,Integer
If WNetCancelConnection2('R:',1)
Wait "網路磁碟機切斷成功!"
Endif
執行出現錯誤訊息==> Data type mismatch |
|
回頂端 |
|
|
小賴
註冊時間: 2004-12-27 文章: 470
第 6 樓
|
發表於: 星期三 七月 06, 2005 3:22 pm 文章主題: |
|
|
引言回覆: |
\\ServerName << 電腦名稱
MyDirectory << 目錄共用名稱
Ex:
假設...小賴把D:\TEMP開放共用,共用名稱為LAI_HDD_D_TEMP
cShare_Name = "\\小賴\LAI_HDD_D_TEMP"
|
小桑•無痕兄:
感謝您!
但不知如何取得所謂的 "共用名稱 LAI_HDD_D_TEMP"
我試了很久, 網路磁碟機沒問題, 但網路芳鄰其他電腦就是
無法Mapping, 但是於WinXP作業系統下網路芳鄰其他電腦
是可Mapping指定磁碟機代號的
至於切斷網路磁碟機的連結: 我是沒有遇到OLDSTONE兄
的問題, 倒是必先退離VFP, 重新起動VFP方可切斷網路磁
碟機成功 |
|
回頂端 |
|
|
小桑•無痕
註冊時間: 2003-07-08 文章: 304 來自: Tainan, Taiwan
第 7 樓
|
發表於: 星期四 七月 07, 2005 9:28 am 文章主題: |
|
|
開放共用方式..如圖所示
下面程式我在本機測試OK...
如果是連至他台電腦...要注意權限問題.....
共享名稱 LAI_HDD_D_TEMP 可自行修改....(就是步驟(2)內,共用名稱所填的內容,當別人填的是ABC,那就要改成ABC)
代碼: | DECLARE integer WNetAddConnection IN win32api string,string,string
cShare_Name = "\\小賴\LAI_HDD_D_TEMP"
nOK = WNetAddConnection(cShare_Name, .NULL., "M:")
IF nOK = 0
WAIT WINDOW cShare_Name +"連結成功!"
ELSE
WAIT WINDOW"無法連結至" + cShare_Name
ENDIF |
_________________ 用力 Try 一下...可以發現很多好玩的事.... |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4212 來自: Taipei,Taiwan
第 8 樓
|
發表於: 星期四 七月 07, 2005 11:20 am 文章主題: |
|
|
windows 2003 server 還有其他群組權限,安全性,..... 的設定要作, _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
Abel
註冊時間: 2005-03-14 文章: 189 來自: 鹿港小鎮
第 9 樓
|
發表於: 星期一 十一月 26, 2007 3:03 pm 文章主題: |
|
|
我想這一篇是亂碼吧 ~ ,請問 校主 有 解嗎 ? |
|
回頂端 |
|
|
Abel
註冊時間: 2005-03-14 文章: 189 來自: 鹿港小鎮
第 10 樓
|
發表於: 星期一 十一月 26, 2007 3:18 pm 文章主題: |
|
|
抱歉是我沒有登入所至,登入後重新 view 就正常了,謝謝. |
|
回頂端 |
|
|
|