VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

利用WMI取得本機或區域網路內電腦的網卡卡號、CPUID、硬碟序號

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
sheuok



註冊時間: 2004-11-20
文章: 63
來自: Taiwan

第 1 樓

發表發表於: 星期二 九月 18, 2007 10:55 am    文章主題: 利用WMI取得本機或區域網路內電腦的網卡卡號、CPUID、硬碟序號 引言回覆

利用WMI取得本機或區域網路內電腦的網卡卡號、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

Laughing ps. WMI: Windows Management Instrumentation
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
oldvbman



註冊時間: 2007-10-19
文章: 13


第 2 樓

發表發表於: 星期五 十月 19, 2007 5:04 pm    文章主題: 引言回覆

急需了解VFP,感謝分享
回頂端
檢視會員個人資料 發送私人訊息
jtcom01



註冊時間: 2005-07-29
文章: 377


第 3 樓

發表發表於: 星期日 十一月 22, 2009 11:12 pm    文章主題: 引言回覆

請教 sheuok
將上列程式存成.prg 不能執行..不知那裡出錯.請不吝指教..謝謝..
回頂端
檢視會員個人資料 發送私人訊息
sheuok



註冊時間: 2004-11-20
文章: 63
來自: Taiwan

第 4 樓

發表發表於: 星期一 十一月 23, 2009 7:57 pm    文章主題: 引言回覆

uf_硬體序號()
? 'CPU序號:',pa_硬體序號[1]
? '網卡卡號:',pa_硬體序號[2]
? '硬碟序號:',pa_硬體序號[3]
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
Return


*** 請存成 prg 檔後執行
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
ezpos



註冊時間: 2011-04-20
文章: 280


第 5 樓

發表發表於: 星期二 四月 10, 2018 2:48 pm    文章主題: 引言回覆

SELECT * FROM Win32_NetworkAdapterConfiguration 可以列出所有網卡MAC值
停用的話,就沒辦法了

_________________
ezPos收銀機 簡單好用低成本 http://www.ezpos.info
全新美觀的POS收銀機.POS軟硬體耗材.
軟體客制化.網站規劃....能賺錢的都可以找我

http://www.twelife.com 台灣生活網
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作