成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

VisualC#怎么編寫DLL

本篇內容主要講解“Visual C#怎么編寫DLL”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Visual C#怎么編寫DLL”吧!

專注于為中小企業(yè)提供網站建設、做網站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)黃島免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯網行業(yè)人才,有力地推動了近千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現規(guī)模擴充和轉變。

一、引言

串行通訊口作為計算機與外部串行設備進行數據傳輸的重要端口,因其使用簡單、方便,在業(yè)界的各種計算機系統中得到了廣泛的應用。由于應用范圍很廣,軟件人員在串行通信方面也積累了豐富的編程經驗。關于串行通信的文章不時見于報端,并且還有一些專門討論
串行通訊編程的書籍,為軟件人員提供了豐富的資源,同時對初次涉足串口編程的軟件開發(fā)者提供很好的范例幫助。

雖然關于串口編程的資料很多,但由于工程上需求多種多樣,需要根據不同的條件對串口進行靈活控制,在實際應用中,常用的方法有:
(1)用匯編或標準通訊函數,往指定端口直接讀寫數據;
(2)利用Visual Studio提供的MSComm控件;
(3)使用Windows提供的API函數。

本文是作者在工程實踐中根據實際需要,在Visual C#環(huán)境中,直接使用Windows提供的API函數實現一個串行通信動態(tài)鏈接庫(DLL)的完整實例,實例既給出了DLL函數的編寫方法,又包括一份用其它編程工具(VB)對此DLL進行聲明及調用的范例。為了使讀者一目了然,并減少代碼量,本例作了簡化,但完全可以運行。希望對需要進行串行通信編程的同行以及需要學習編寫DLL的編程愛好者提供一點幫助。

二、準備知識

1、Visual C#編寫DLL基本概念

動態(tài)鏈接庫(DLL) 是Windows操作系統的基礎,Windows API中的所有函數就是包含在DLL中,它有眾多優(yōu)點,如:簡化軟件項目管理以便分工合作,有助于節(jié)省內存,便于資源共享并且可以用多種語言來編寫。

用VC# 編寫動態(tài)鏈接有以下四種類型:Win32 DLL、MFC常規(guī)DLL(動態(tài)鏈接MFC)、MFC常規(guī)DLL(靜態(tài)鏈接MFC)、MFC擴展DLL等。本程序的編寫為Win32 DLL。

2、串行通信基礎知識

在Windows系統,系統通過一個叫DCB(Device Control Block)的結構對串行口進行配置,通過Windows API GetCommState函數可以得到串行通訊口的狀態(tài)信息,使用SetCommState函數可以對串行通訊口進行設置,實現串行通信一般需按以下四步進行:
(1) 打開串口。由于串口是獨占性資源,因此應用程序打開串口后,別的應用程序就不能再打開此串口了。
(2)配置串口。利用GetCommState函數獲取串口當前配置,根據需要更改DCB 結構中的參數,然后用SetCommState函數設置串口通訊參數。
(3)數據傳送。在串口上進行數據發(fā)送接收,并根據需要進行校驗,觸發(fā)一些事件等等。這個串口通訊DLL的目的就是收發(fā)數據。
(4)關閉串口。不需要此串口時,關閉串口,供其它的應用程序使用。

3、CALLBACK函數

在微軟的官方手冊中是這樣定義CALLBACK函數的:“CALLBACK函數是由應用程序定義而由操作系統調用的函數”。在我們編寫DLL時,就是由應用程序定義而由此DLL執(zhí)行的函數,這一機制在被調用者(DLL)和調用者(應用程序)之間進行信息傳遞是非常有用的。這一特性,讓初學者較難理解,但是它卻是編寫串行通信程序者的福音,正是由于使用這一特性,才可很方便地在動態(tài)鏈接庫中實現MSComm控件中的OnComm 事件,并且可根據需要進行靈活控制。

到此,相信大家對“Visual C#怎么編寫DLL”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

網站名稱:VisualC#怎么編寫DLL
文章起源:http://jinyejixie.com/article30/ppispo.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站設計公司、網站收錄網站設計、面包屑導航、網站建設網站制作

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

小程序開發(fā)
普陀区| 土默特右旗| 垫江县| 离岛区| 南部县| 祁阳县| 嘉兴市| 正安县| 上虞市| 磴口县| 广德县| 昆山市| 灵璧县| 新巴尔虎右旗| 洛浦县| 托克托县| 井陉县| 抚远县| 通辽市| 贺兰县| 台山市| 铁岭县| 台州市| 秦安县| 泸定县| 四子王旗| 都安| 孝昌县| 馆陶县| 蛟河市| 随州市| 会宁县| 南漳县| 日土县| 惠安县| 昌乐县| 斗六市| 高阳县| 深泽县| 沧源| 芷江|