日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 測試測量 > 測試測量
[導(dǎo)讀]這類的帖子很多,不過差不多都是通過調(diào)用動態(tài)鏈接庫實現(xiàn)的。準(zhǔn)確的說實現(xiàn)獲取硬盤序列號的工作是由其他語言編寫的DLL來實現(xiàn)的。今天我的這例子不用調(diào)用動態(tài)鏈接庫,直接由LabVIEW來獲取硬盤的序列號。 這種方式在一個

這類的帖子很多,不過差不多都是通過調(diào)用動態(tài)鏈接庫實現(xiàn)的。準(zhǔn)確的說實現(xiàn)獲取硬盤序列號的工作是由其他語言編寫的DLL來實現(xiàn)的。今天我的這例子不用調(diào)用動態(tài)鏈接庫,直接由LabVIEW來獲取硬盤的序列號。

這種方式在一個論壇上看見過,本想?yún)⒖紖⒖?,不過樓主把VI加密了,索性自己做一個和大家分享,討論討論。
本程序讀取的是硬盤的物理序列號,不同于DLL調(diào)用的方法,本方法獲取的是硬盤唯一真正物理ID(是固化在硬盤BISO里的SN不是分區(qū)的SN),不會出現(xiàn)重復(fù),也不可能被修改(或者說難度很大,而且還有危險,網(wǎng)上看到過說一個叫PC-3000的可以修改,沒有嘗試過,有哪位膽大拿自己硬盤試驗一下,把結(jié)果共享一下吧)。可用在軟件加密中。
1、原理
大家知道,硬盤相對于CPU來說屬于外部設(shè)備,而CPU訪問外部設(shè)備其實就是對外部IO的端口操作,這是硬盤的底層操作,對硬盤的任何操作都可以的,這樣只要我們搞清楚如何通過IO指令對硬盤操作和硬盤物理序列號存放的寄存器就可以輕松讀取我們所要的硬盤物理序列號了。下面是從網(wǎng)絡(luò)上搜集的一些資料。
硬盤讀寫端口的具體含義
對硬盤進(jìn)行操作的常用端口是1f0h~1f7h號端口,各端口含義如下:
端口號 讀還是寫 具體含義
1F0H 讀/寫 用來傳送讀/寫的數(shù)據(jù)(其內(nèi)容是正在傳輸?shù)囊粋€字節(jié)的數(shù)據(jù))
1F1H 讀 用來讀取錯誤碼
1F2H 讀/寫 用來放入要讀寫的扇區(qū)數(shù)量
1F3H 讀/寫 用來放入要讀寫的扇區(qū)號碼
1F4H 讀/寫 用來存放讀寫柱面的低 8位字節(jié)
1F5H 讀/寫 用來存放讀寫柱面的高 2位字節(jié)(其高 6位恒為 0)
1F6H 讀/寫 用來存放要讀/寫的磁盤號及磁頭號
第 7位 恒為 1
第 6位 恒為 0
第 5位 恒為 1
第 4位 為 0代表第一塊硬盤、為 1代表第二塊硬盤
第3~0位 用來存放要讀/寫的磁頭號
1f7H 讀 用來存放讀操作后的狀態(tài)
第 7位 控制器忙碌
第 6位 磁盤驅(qū)動器準(zhǔn)備好了
第 5位 寫入錯誤
第 4位 搜索完成
第 3位 為 1時扇區(qū)緩沖區(qū)沒有準(zhǔn)備好
第 2位 是否正確讀取磁盤數(shù)據(jù)
第 1位 磁盤每轉(zhuǎn)一周將此位設(shè)為1,
第 0位 之前的命令因發(fā)生錯誤而結(jié)束
寫 該位端口為命令端口,用來發(fā)出指定命令
為50h 格式化磁道
為20h 嘗試讀取扇區(qū)
為21h 無須驗證扇區(qū)是否準(zhǔn)備好而直接讀扇區(qū)
為22h 嘗試讀取長扇區(qū)(用于早期的硬盤,每扇可能不是 512字節(jié),而是128字節(jié)到1024
之間的值)
為23h 無須驗證扇區(qū)是否準(zhǔn)備好而直接讀長扇區(qū)
為30h 嘗試寫扇區(qū)
為31h 無須驗證扇區(qū)是否準(zhǔn)備好而直接寫扇區(qū)
為32h 嘗試寫長扇區(qū)
為33h 無須驗證扇區(qū)是否準(zhǔn)備好而直接寫長扇區(qū)
上面是磁盤0的指令,下面是磁盤1的
171H 1號硬盤錯誤寄存器
172H 1號硬盤數(shù)據(jù)扇區(qū)計數(shù)
173H 1號硬盤扇區(qū)數(shù)
174H 1號硬盤柱面(低字節(jié))
175H 1號硬盤柱面(高字節(jié))
176H 1號硬盤驅(qū)動器/磁頭寄存器
177H 1號硬盤狀態(tài)寄存器
2、操作
知道硬盤的IO操作指令了,下面就是如何在LabVIEW里去實現(xiàn)這些指令了。這方面LabVIEW提供了現(xiàn)成的操作指令。他們就是讀端口和寫端口。


接下來的工作就很簡單了。大致流程就是下面這樣了:
2.1等待硬盤就緒
2.2發(fā)送命令
; 如果向主控制發(fā)送命令,則端口為 1f0h-1f7h
; 如果向副控制發(fā)送命令,則端口為 170h-177h
; 1f6h 如果要檢測的設(shè)備為該IDE接口的主(MASTER)設(shè)備,
那么發(fā)送 a0,如果為從那么發(fā)送 b0
; 1f7h 如果要檢測的設(shè)備為 ATA 設(shè)備那么發(fā)送 ec
如果為 ATAPI 設(shè)備那么發(fā)送 a1
2.3等待硬盤就緒
2.4將返回信息讀回
; 注意一定要讀滿 100h 個字長。也就是寄存器中的所有信息
2.5返回的信息中,型號、序列號、版本號為字形式
; 需要整理到字符串的形式
3、代碼及前面板



注意:此程序只在XP下對并口硬盤做了測試。對串口(SATA)硬盤的測試失敗。VISTA下由于安全原因可能會被禁止,請將程序保護(hù)的選項去除。這個沒有詳細(xì)測試,希望安裝了VISTA系統(tǒng)的朋友測試一下,把結(jié)果共享出來。
上面圖即為程序的全部代碼。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

下面的項目包括一個機(jī)器人完成各種任務(wù)。這是通過在機(jī)器人上使用和實現(xiàn)各種傳感器來完成的。機(jī)器人能夠在一個封閉的區(qū)域內(nèi)移動,收集球,并在最后的一個點上放下球。機(jī)器人將繪制出它去過的位置和該區(qū)域內(nèi)的障礙物。

關(guān)鍵字: 傳感器 機(jī)器人 LabVIEW

NI提供的軟件包經(jīng)濟(jì)省時,不僅幫助開發(fā)人員節(jié)省時間,還為創(chuàng)客提供了新的機(jī)遇

關(guān)鍵字: LabVIEW 自動化測試系統(tǒng)

強(qiáng)大的圖形化編程工具使整個測試和測量過程的各個方面實現(xiàn)可視化

關(guān)鍵字: LabVIEW 圖形化編程工具

摘要:對于每一型新機(jī)試飛,或者是重大的研究性試飛和驗證試飛,都必須實施遙測監(jiān)控?,F(xiàn)基于TTS(TextToSpeech)語音合成技術(shù),結(jié)合飛行試驗遙測監(jiān)控系統(tǒng)的不足,利用TTS引擎在LabVIEW開發(fā)環(huán)境下設(shè)計并實現(xiàn)了遙...

關(guān)鍵字: 飛行試驗遙測監(jiān)控系統(tǒng) TTS LabVIEW

在科研以及應(yīng)用軟件領(lǐng)域,LabVIEW和MATLAB作為比較常用的2款工具,相信很多人都用過吧。簡單的概括一下,LabVIEW側(cè)重測試測量和數(shù)據(jù)采集,MATLAB側(cè)重科學(xué)計算和數(shù)據(jù)分析。

關(guān)鍵字: LabVIEW matlab 混合編程

摘要:利用單片機(jī)和虛擬儀器LabVIEW在PC端設(shè)計了溫濕度測量及控制系統(tǒng),用于溫濕度數(shù)據(jù)監(jiān)測。該系統(tǒng)上位機(jī)為PC端監(jiān)控界面,下位機(jī)為單片機(jī),單片機(jī)采集溫濕度數(shù)據(jù),并將采集到的數(shù)據(jù)通過串口發(fā)送給監(jiān)控界面進(jìn)行監(jiān)測和管理。該...

關(guān)鍵字: DHT11 LabVIEW 單片機(jī)

摘要:當(dāng)前閉環(huán)步進(jìn)電機(jī)在自動化設(shè)備中的應(yīng)用越來越廣泛,故為了進(jìn)一步滿足閉環(huán)步進(jìn)電機(jī)的應(yīng)用需求,采用LabVIEW上位機(jī)+運動控制卡+驅(qū)動器模塊的控制方案進(jìn)行了多軸運動系統(tǒng)的設(shè)計,通過設(shè)計的上位機(jī)軟件實現(xiàn)閉環(huán)步進(jìn)電機(jī)的實時...

關(guān)鍵字: 閉環(huán)步進(jìn)電機(jī) 精度測試 LabVIEW

摘要:為滿足某扭矩檢測試驗標(biāo)準(zhǔn)要求,基于LabView設(shè)計開發(fā)了一款扭矩檢測裝置,該裝置能檢測某類零部件的斷裂力矩,滿足試驗標(biāo)準(zhǔn)要求,其他零部件的扭矩也可在該裝置上檢測。類似的扭矩裝置可參考該裝置進(jìn)行設(shè)計。

關(guān)鍵字: 伺服電機(jī) LabVIEW PLC

在下述的內(nèi)容中,小編將會對LabVIEW的相關(guān)消息予以報道,如果LabVIEW是您想要了解的焦點之一,不妨和小編共同閱讀這篇文章哦。

關(guān)鍵字: LabVIEW 測試測量 NI

一直以來,LABVIEW都是大家的關(guān)注焦點之一。因此針對大家的興趣點所在,小編將為大家?guī)鞮ABVIEW的相關(guān)介紹,詳細(xì)內(nèi)容請看下文。

關(guān)鍵字: LabVIEW 測試測量 測試儀器
關(guān)閉