|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
LiChingLin
註冊時間: 2006-04-19 文章: 59
第 1 樓
|
發表於: 星期二 九月 11, 2007 9:49 pm 文章主題: 求 區網上 mac 資料 |
|
|
是否有辦法求出區網上電腦的mac資料
例如:
a = NetGetMac( 'PC01' )
b = NetGetMac( 'PC02' )
? a
? b
c = NetGetIP( 'PC01' )
d = NetGetIP( 'PC02' )
? c
? d |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2158
第 2 樓
|
|
回頂端 |
|
|
LiChingLin
註冊時間: 2006-04-19 文章: 59
第 3 樓
|
發表於: 星期四 九月 13, 2007 11:48 pm 文章主題: |
|
|
這篇文章內容很實用,有無方法不使用MyDll.dll也可達到目的
目的:簡易KeyPro
類似文章很多,但是整理不出頭緒,何種方法好管理又實用
我是使用File Server架構不想整套被Ghost,遇到惡劣客戶+可惡工程師,已經損失不少
在此拋出話題,希望提醒狐友自立自強,迎接未來 ...... |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4214 來自: Taipei,Taiwan
第 4 樓
|
發表於: 星期五 九月 14, 2007 2:21 pm 文章主題: |
|
|
簡易KEYPRO 之前也PO過啦.
可以用 ASP+VFP-COM 來作,
也可以用 WINSOCKET 來作. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
sheuok
註冊時間: 2004-11-20 文章: 63 來自: Taiwan
第 5 樓
|
發表於: 星期六 九月 15, 2007 9:14 pm 文章主題: |
|
|
可取的本機或【遠端電腦】 網卡卡號、CPUID、硬碟序號 =>修正版
****
Function uf_硬體序號(ulp_電腦名稱,ulp_使用者,ulp_密碼) &&-未輸入電腦名稱則視為本機
Public pa_硬體序號[3]
Private All Like m_*
m_owmi=Createobject("WbemScripting.SWbemLocator")
If Empty(ulp_電腦名稱)
m_olocal=m_owmi.connectserver(".", "root\cimv2")
Else
m_olocal=m_owmi.connectserver(ulp_電腦名稱,"root\cimv2",ulp_使用者,ulp_密碼)
Endif
m_ohardware=m_olocal.execquery("SELECT * FROM Win32_Processor")
For Each m_object1 In m_ohardware
pa_硬體序號[1]=m_object1.properties_('ProcessorId').Value
pa_硬體序號[1]=Iif(IsNull(pa_硬體序號[1]),"無法取得CPUID",pa_硬體序號[1])
Exit
Endfor
m_ohardware=m_olocal.execquery("SELECT * FROM Win32_NetworkAdapterConfiguration Where IPEnabled=1")
For Each m_object1 In m_ohardware
pa_硬體序號[2]=Strtran(m_object1.properties_('MACAddress').Value,":","-")
pa_硬體序號[2]=Iif(IsNull(pa_硬體序號[2]),"無法取得網卡序號",pa_硬體序號[2])
Exit
Endfor
m_ohardware=m_olocal.execquery("SELECT * FROM Win32_PhysicalMedia")
For Each m_object1 In m_ohardware
pa_硬體序號[3]=m_object1.properties_('SerialNumber').Value
pa_硬體序號[3]=Iif(IsNull(pa_硬體序號[3]),"無法取得硬碟序號",pa_硬體序號[3])
pa_硬體序號[3]=Alltrim(Substr(pa_硬體序號[3],1,40))
Exit
Endfor
* ? 'CPU序號:',pa_硬體序號[1]
* ? '網卡卡號:',pa_硬體序號[2]
* ? '硬碟序號:',pa_硬體序號[3]
Return(m_運算碼)
sheuok 在 星期二 九月 18, 2007 10:53 am 作了第 2 次修改 |
|
回頂端 |
|
|
sheuok
註冊時間: 2004-11-20 文章: 63 來自: Taiwan
第 6 樓
|
發表於: 星期六 九月 15, 2007 9:15 pm 文章主題: |
|
|
取得網路上本機或區網上的網路卡卡號:
****
Function uf_網路卡號(lp_傳入參數) &&-傳入網路TCP/IP位址或第幾塊網卡取得當地網卡卡號
Declare Integer WSAStartup In Ws2_32 Integer wVerRq,String @lpWSAData
Declare Integer WSACleanup In Ws2_32
Declare Integer GetAdapterCount In Snmptools.Dll
Declare Integer GetAdapterMAC In Snmptools.Dll Integer,String
Declare Integer GetIPAddress In Snmptools.Dll Integer,String
Private All Like m_
If Vartype(lp_傳入參數) ="C"
#Define wsadata_size 398
#Define ws_version 514
Local lc_卡號字串, lc_sock值, lc_遠端位址, lc_網卡位址, lc_返回值
lc_卡號字串='000000000000'
**** 初始化 SOCKET
lc_sock值=Replicate(Chr(0), wsadata_size)
If wsastartup(ws_version, @lc_sock值)=0
**** 發送ARP檢查封包取得遠程MAC地址
lc_遠端位址=inet_addr(lp_傳入參數)
lc_網卡位址=Space(6)
If sendarp(lc_遠端位址, 0, @lc_網卡位址, 6)=0
lc_卡號字串=''
For m_i=1 To 6
lc_卡號字串=lc_卡號字串+Right(Transform(Asc(Substr(lc_網卡位址,m_i,1)),'@0'),2)
Endfor
Endif
= wsacleanup()
Endif
Else
If initsnmp()=1
m_no=0
m_傳回卡號=Space(12)
m_網卡數量= getadaptercount()
For m_i=1 To m_網卡數量
m_卡號= Space(12)
getadaptermac(m_i,@m_卡號) &&-卡號
m_網址= Space(15)
* getipaddress(m_i,@m_網址) &&-網址
* m_網址=Upper(Chrtran(m_網址, Chr(0), ''))
If !Empty(m_卡號)
m_no=m_no+1
If lp_傳入參數=m_no
m_傳回卡號=Upper(m_卡號)
Endif
Endif
Endfor
Return(m_傳回卡號)
Else
Messagebox('SNMPTools requires Winsock 2.0 or newer', 'SNMPTools')
Return(0)
Endif
Endif
Return lc_卡號字串
Endfunc
可參考資料引用自:
http://vfp.sunyear.com.tw/viewtopic.php?t=2521&highlight=mac+%BA%F4%A5d
sheuok 在 星期二 九月 18, 2007 8:11 am 作了第 2 次修改 |
|
回頂端 |
|
|
LiChingLin
註冊時間: 2006-04-19 文章: 59
第 7 樓
|
發表於: 星期六 九月 15, 2007 11:48 pm 文章主題: |
|
|
先感謝大家熱烈支援
目前硬碟序號確定於 2007.09.03 證實成功被Ghost突破,損失已經確定 ..... 遺憾
小弟我目前得到狐友火線支援,理當更加努力更加謹慎
開始練功去 ....
謝謝大家!! |
|
回頂端 |
|
|
215001
註冊時間: 2003-06-11 文章: 389
第 8 樓
|
發表於: 星期日 九月 16, 2007 11:13 am 文章主題: |
|
|
sheuok 寫到: | Function uf_硬體序號()
Private All Like m_*
Decalre pa_硬體序號[3]
|
1.感謝 sheuok 提供的方法,確實是可以抓到硬體序號,
除了網路卡可用IPCONFIG/ALL 查到序號外,CPU及硬碟,從那裡可以查到序號(不拆開電腦的情況下) |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4214 來自: Taipei,Taiwan
第 9 樓
|
發表於: 星期三 九月 19, 2007 10:33 am 文章主題: |
|
|
這些問題在很久前我們都想過了.
用硬碟序號可以用硬碟clone軟體複製.
用cpu,網路卡硬體會發生使用者更換硬體就要求要免費服務(硬體損壞更換是正常的,很難藉此收費).
線上license檢查會卡在使用者不見得能自由上網,
就算可以,建立自己的license server也得花一番功夫.
最後我們是準備用 winsocket + 單機keypro ,自己搞 網路keypro檢查. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2158
第 10 樓
|
|
回頂端 |
|
|
215001
註冊時間: 2003-06-11 文章: 389
第 11 樓
|
發表於: 星期三 九月 19, 2007 1:40 pm 文章主題: |
|
|
syntech 寫到: |
最後我們是準備用 winsocket + 單機keypro ,自己搞 網路keypro檢查.
|
用winsocket 是否會碰到防火牆的問題,可以避開嗎 |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4214 來自: Taipei,Taiwan
第 12 樓
|
發表於: 星期三 九月 19, 2007 1:49 pm 文章主題: |
|
|
會碰到防火牆的問題.
不想碰防火牆的問題則必須使用 web service,
因為 web service 主要走網頁的80port,
比較不會被擋.
但是web service 必須設定iis,以及註冊物件,
不見得比開port輕鬆.
"兩害相權取其輕" Orz _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4214 來自: Taipei,Taiwan
第 13 樓
|
發表於: 星期三 九月 19, 2007 1:57 pm 文章主題: |
|
|
雛型我已經作出來了.
利用 李老師 的winsocket範例.
實際上,以 asp 或是 web service 作檢查keypro的範例,
2005年11月 左右就放到本站了. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2158
第 14 樓
|
|
回頂端 |
|
|
sheuok
註冊時間: 2004-11-20 文章: 63 來自: Taiwan
第 15 樓
|
發表於: 星期四 九月 27, 2007 2:42 pm 文章主題: |
|
|
引言回覆: | 除了網路卡可用IPCONFIG/ALL 查到序號外,CPU及硬碟,從那裡可以查到序號(不拆開電腦的情況下) |
請下載 微軟提供的 WMITools 可查看該部份資料! |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|