• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于API函數(shù)和VB.NET的自動(dòng)數(shù)據(jù)采集系統(tǒng)

      2019-06-05 02:38:22王春艷
      關(guān)鍵詞:句柄測(cè)試程序窗體

      ◆王春艷

      基于API函數(shù)和VB.NET的自動(dòng)數(shù)據(jù)采集系統(tǒng)

      ◆王春艷

      (東莞搜路研電子有限公司天津分公司天津300450)

      在生產(chǎn)試驗(yàn)中,一些測(cè)試設(shè)備配備的通用測(cè)試程序有時(shí)并不能滿足對(duì)某些特定測(cè)試數(shù)據(jù)按照特定格式進(jìn)行自動(dòng)存儲(chǔ)的要求,為了解決此問(wèn)題,在VB.NET的環(huán)境下利用API函數(shù)開(kāi)發(fā)了本套數(shù)據(jù)自動(dòng)采集系統(tǒng),實(shí)現(xiàn)了對(duì)現(xiàn)有測(cè)試程序界面數(shù)據(jù)的自動(dòng)采集、存儲(chǔ)、打印等功能,在實(shí)際應(yīng)用中體現(xiàn)了數(shù)據(jù)自動(dòng)采集的高效性和準(zhǔn)確性,且為后期的數(shù)據(jù)追溯提供了方便。

      API函數(shù);VB.NET;數(shù)據(jù)自動(dòng)采集系統(tǒng)

      0 引言

      隨著電子及計(jì)算機(jī)技術(shù)的飛速發(fā)展,對(duì)測(cè)試自動(dòng)化的要求也越來(lái)越高。如何在現(xiàn)有儀器設(shè)備及測(cè)試程序的基礎(chǔ)上,實(shí)現(xiàn)對(duì)測(cè)試數(shù)據(jù)的高效率精確采集和處理是我們面臨的難題。因此,根據(jù)實(shí)際需要,我們?cè)趘b.net環(huán)境下,利用API函數(shù)開(kāi)發(fā)了“數(shù)據(jù)自動(dòng)采集系統(tǒng)”,實(shí)現(xiàn)了對(duì)測(cè)試數(shù)據(jù)的自動(dòng)讀取,處理,保存和打印等功能,明顯提高了工作效率,減輕了測(cè)試人員的工作量。

      1 系統(tǒng)組成和功能

      在本系統(tǒng)中,現(xiàn)有硬件和測(cè)試程序?yàn)槲覀兲峁┝藴y(cè)試數(shù)據(jù),而數(shù)據(jù)自動(dòng)采集軟件作為系統(tǒng)的主要部分實(shí)現(xiàn)了數(shù)據(jù)自動(dòng)采集、處理及打印等一系列功能。

      1.1 現(xiàn)有設(shè)備和測(cè)試程序

      其中,現(xiàn)有設(shè)備包括PC機(jī),信號(hào)源,頻譜儀。PC機(jī)通過(guò)GPIB接口卡、GPIB電纜與信號(hào)發(fā)生器,頻譜儀的GPIB接口相連,其中,PC機(jī)為主控機(jī),信號(hào)發(fā)生器用來(lái)給測(cè)試樣品提供特定的信號(hào),頻譜儀用來(lái)測(cè)試樣品的性能。

      現(xiàn)有程序?yàn)楣?yīng)商提供的通用測(cè)試程序,為我們顯示測(cè)試數(shù)據(jù)。

      1.2 數(shù)據(jù)自動(dòng)采集軟件

      數(shù)據(jù)自動(dòng)采集軟件是本系統(tǒng)中的重要部分,它對(duì)整個(gè)系統(tǒng)的性能起著決定性作用。本軟件是在VB.Net環(huán)境下開(kāi)發(fā)的,通過(guò)API函數(shù)來(lái)實(shí)現(xiàn)對(duì)現(xiàn)有測(cè)試軟件的監(jiān)控,測(cè)試數(shù)據(jù)的讀取和處理等功能,并將數(shù)據(jù)按照特定格式自動(dòng)保存在Excel中,以方便數(shù)據(jù)的后續(xù)管理和追蹤。

      1.2.1 VB.NET

      VB.NET 是微軟公司推出的開(kāi)發(fā)平臺(tái)。對(duì)于軟件開(kāi)發(fā)人員來(lái)講,.NET 的技術(shù)相對(duì)簡(jiǎn)單,入門較快。由于其具有易學(xué)易用、開(kāi)發(fā)迅速的特性,已受到越來(lái)越多企業(yè)的青睞[1]。雖然微軟不提倡在.Net平臺(tái)調(diào)用Windows API 函數(shù),但是在開(kāi)發(fā)語(yǔ)言使用自帶函數(shù)或類庫(kù)不能解決問(wèn)題時(shí),調(diào)用Windows API函數(shù)往往是一種非常直接有效的解決方法。

      1.2.2 Windows API函數(shù)

      Windows API 函數(shù)是操作系統(tǒng)為程序開(kāi)發(fā)人員提供的一組函數(shù)庫(kù),通常包含在名為.DLL (Dynamic Link Library)的動(dòng)態(tài)連接庫(kù)文件中[2]。

      1.2.3 數(shù)據(jù)自動(dòng)采集的實(shí)現(xiàn)

      數(shù)據(jù)自動(dòng)采集軟件主要包括三個(gè)部分:數(shù)據(jù)采集部分,數(shù)據(jù)處理與存儲(chǔ)部分,數(shù)據(jù)打印部分。其中最關(guān)鍵的為數(shù)據(jù)采集部分。

      ( 1 ) 數(shù)據(jù)采集部分

      數(shù)據(jù)采集部分包括獲取現(xiàn)有測(cè)試程序界面控件句柄,讀取特定測(cè)試數(shù)據(jù)和向測(cè)試程序發(fā)送控制命令三部分。PC機(jī)實(shí)現(xiàn)測(cè)試數(shù)據(jù)采集的具體步驟是:

      1)獲取測(cè)試程序主窗口句柄,判斷測(cè)試程序是否打開(kāi);

      2)獲取要讀取數(shù)據(jù)所在控件句柄;

      3)判斷測(cè)試狀態(tài);

      4)讀取數(shù)據(jù)并保存。

      要獲取控件的句柄讀取需要的數(shù)據(jù),就要用到如下的API函數(shù):

      Hwnd=FindWindow(lpClassName,lpWindowName)功能:獲得一個(gè)窗口的句柄;

      返回值:若成功返回窗體句柄,若失敗返回Null。

      其中l(wèi)pClassName,lpWindowName的具體值可借助Spy++工具獲得。Spy++ (SPYXX.EXE) 是一個(gè)基于Win32 的實(shí)用工具,通過(guò)它可以搜索指定的窗口、線程、進(jìn)程或消息,還可以查看選定的窗口、線程、進(jìn)程或消息的屬性信息。

      Hwnd=FindWindowEx(hwndParent,hwndChildAfter,lpszClass,lpszWindow)

      功能:查找子窗口,從排在給定的子窗口后面的下一個(gè)窗口開(kāi)始。

      參數(shù)說(shuō)明:hwndParent:要查找控件所在的主窗體句柄,為NULL時(shí),則函數(shù)以桌面窗口為主窗體,查找桌面窗口的所有子窗口。

      hwndChildAfter:主窗體上控件的句柄。如果hwndParent和hwndChildAfter同時(shí)為NULL,則函數(shù)查找所有的頂層窗口及消息窗口。

      lpszClass:指向一個(gè)指定了類名的空結(jié)束字符串,或一個(gè)標(biāo)識(shí)類名字符串的成員的指針。

      lpszWindow:指向一個(gè)指定了窗口名(窗口標(biāo)題)的空結(jié)束字符串,此處為現(xiàn)有測(cè)試程序窗體的標(biāo)題。如果該參數(shù)為NULL,則為所有窗口全匹配。

      返回值:如果函數(shù)成功,返回值為現(xiàn)有測(cè)試程序窗體上子控件的句柄。如果函數(shù)失敗,返回值為NULL。

      GetClassName(hwnd,lpClassName,nMaxCount)功能:獲得指定窗口所屬的類的類名。

      參數(shù)說(shuō)明:Hwnd:窗口的句柄;

      lpClassName:指向接收窗口類名字符串的緩沖區(qū)的指針;

      nMaxCount:參數(shù)lpClassName指示的緩沖區(qū)的字節(jié)數(shù)。

      返回值:若成功,返回值為接收到指定緩沖區(qū)的字符的個(gè)數(shù);若失敗,返回0。

      sendMessage(hwnd,wMsg,wParam,lParam) 功能:向?qū)υ捒蛑械目丶l(fā)送消息。

      參數(shù)說(shuō)明:

      hwnd:接收消息的窗口句柄;

      wMsg:指定被發(fā)送的消息;在此為”WM_GETTEXT”消息,它的作用是復(fù)制對(duì)應(yīng)窗口的文本到緩沖區(qū);

      wParam:指定附加的消息特定信息;在此為設(shè)置獲取緩沖區(qū)文本長(zhǎng)度;

      lParam:指定附加的消息特定信息;在此為將緩沖區(qū)中特定長(zhǎng)度的文本賦給此變量。

      數(shù)據(jù)采集的整個(gè)流程見(jiàn)圖1。

      圖1 數(shù)據(jù)采集流程圖

      (2)數(shù)據(jù)處理與保存部分

      數(shù)據(jù)處理與保存部分是本系統(tǒng)中必不可少的組成部分,用于處理從測(cè)試程序界面采集到的特定數(shù)據(jù)。在此采集系統(tǒng)中,我們用Excel來(lái)存儲(chǔ)數(shù)據(jù)并按照測(cè)試報(bào)告的要求格式設(shè)置excel的存儲(chǔ)樣式。

      ( 3 ) 數(shù)據(jù)打印部分

      為了防止操作人員對(duì)測(cè)試數(shù)據(jù)進(jìn)行誤操作,打印時(shí)并不直接對(duì)excel文件進(jìn)行操作,而是利用VB.NET中的控件printDialog,PrintDocument,PrintPreviewDialog,在數(shù)據(jù)采集系統(tǒng)界面直接點(diǎn)擊打印按鈕,即可完成測(cè)試報(bào)告的打印,快速,準(zhǔn)確,便捷。

      2 結(jié)束語(yǔ)

      用VB.NET語(yǔ)言結(jié)合API函數(shù)編寫的數(shù)據(jù)自動(dòng)采集軟件彌補(bǔ)了通用測(cè)試程序無(wú)法對(duì)某些測(cè)試數(shù)據(jù)自動(dòng)采集和保存的缺點(diǎn),在現(xiàn)有設(shè)備和測(cè)試程序基礎(chǔ)上實(shí)現(xiàn)了數(shù)據(jù)自動(dòng)采集,處理,存儲(chǔ)等功能,滿足了生產(chǎn)的要求,為日后產(chǎn)品的數(shù)據(jù)追蹤做了充分的準(zhǔn)備。

      [1]齊興斌,趙麗.VB與VB.NET編程的比較[J].電力學(xué)報(bào),2009.10.

      [2]陳蘇.VB中API函數(shù)應(yīng)用剖析[J].科技信息,2008.5.

      猜你喜歡
      句柄測(cè)試程序窗體
      試談Access 2007數(shù)據(jù)庫(kù)在林業(yè)檔案管理中的應(yīng)用
      檔案天地(2019年5期)2019-06-12 05:12:02
      基于Castle型機(jī)械手的三溫量產(chǎn)測(cè)試平臺(tái)實(shí)現(xiàn)
      高校圖書館持久標(biāo)識(shí)符應(yīng)用研究
      手機(jī)APP交互界面人因適合性測(cè)試程序的設(shè)計(jì)與實(shí)現(xiàn)
      編譯程序語(yǔ)法分析句柄問(wèn)題分析與探討
      中心主導(dǎo)制訂的《VHF/UHF頻率范圍內(nèi)測(cè)向系統(tǒng)測(cè)向靈敏度的測(cè)試程序》等兩項(xiàng)國(guó)際標(biāo)準(zhǔn)在ITU官網(wǎng)正式發(fā)布
      電氣自動(dòng)化控制設(shè)備可靠性測(cè)試探討
      MFC應(yīng)用程序多線程混合顯示界面方法研究
      基于LayeredWindow的異形窗體局部刷新
      中文信息(2014年2期)2014-03-06 23:49:14
      巧設(shè)WPS窗體控件讓表格填寫更規(guī)范
      共和县| 合肥市| 建始县| 收藏| 苏尼特左旗| 小金县| 浮山县| 乐平市| 彰武县| 和田市| 安宁市| 玛纳斯县| 禄丰县| 海原县| 高尔夫| 石林| 卢龙县| 太和县| 庆阳市| 资兴市| 长汀县| 嫩江县| 吴桥县| 博罗县| 大丰市| 衢州市| 玛纳斯县| 上蔡县| 云阳县| 霞浦县| 黑龙江省| 连江县| 长治县| 鹿泉市| 苍溪县| 镇宁| 资源县| 高台县| 南平市| 康平县| 政和县|