日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

汇编中的扫描码、ASCII码(也称字符码)、扩展码、虚拟键码 的区别

發(fā)布時(shí)間:2025/6/17 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汇编中的扫描码、ASCII码(也称字符码)、扩展码、虚拟键码 的区别 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

掃描碼 是鍵盤對(duì)應(yīng)按鍵的編碼 ,虛擬鍵碼 是操作系統(tǒng)對(duì) “對(duì)應(yīng)按鍵”的編碼,
鍵盤ASCII碼 ,是操作系統(tǒng)對(duì)“對(duì)應(yīng) 虛擬鍵碼”的編碼(也稱ASCII字符碼或者字符碼)

鍵盤掃描碼:是每個(gè)鍵盤生產(chǎn)廠家為自己所生產(chǎn)的鍵盤設(shè)置的掃面方式,目的檢測是那個(gè)鍵被按下。
ASCII碼:是虛擬鍵碼對(duì)應(yīng)的編碼。虛擬鍵碼是按照相關(guān)國際標(biāo)準(zhǔn)制定,全世界的計(jì)算機(jī)都要遵守。
虛擬鍵碼:為了解決不同鍵盤生產(chǎn)廠家生產(chǎn)鍵盤的排布或掃面方式不同,而建立的從鍵盤掃面到虛擬鍵碼的映射,(即實(shí)現(xiàn)鍵盤掃描到虛擬鍵碼的轉(zhuǎn)換)

虛擬鍵碼

在模擬鍵盤程序中會(huì)用到相關(guān)函數(shù),其中有些步驟就是把正常的ASCII或者其他字符轉(zhuǎn)換成虛擬鍵碼!VkKeyScan就是將字符轉(zhuǎn)換成虛擬鍵碼用的。Windows開發(fā)者試圖通過定義所謂的虛擬鍵碼,以便經(jīng)由與裝置無關(guān)的方式處理鍵盤,這就是產(chǎn)生虛擬鍵碼的目的!大多數(shù)虛擬鍵碼的名稱在WINUSER.H表頭檔案中都定義為以VK_開頭。其中數(shù)字和字母的虛擬鍵碼是ASCII碼。Windows程式幾乎從不使用這些虛擬鍵碼;實(shí)際上,程式使用的是ASCII碼字元的字元訊息。

虛擬指的是假定存在于思想中而不是現(xiàn)實(shí)世界中的一些事物,也只有熟練使用DOS組合語言編寫應(yīng)用程式的程式寫作者才有可能指出,為什么對(duì)Windows鍵盤處理如此基本的鍵碼是虛擬的而不是真實(shí)的。
對(duì)於早期的程式寫作者來說,真實(shí)的鍵碼由實(shí)際鍵盤硬體產(chǎn)生。在Windows文件中將這些鍵碼稱為「掃描碼(scan codes)」。在IBM相容機(jī)種上,掃描碼16是Q鍵,17是W鍵,18是E、19是R,20是T,21是Y等等。這時(shí)您會(huì)發(fā)現(xiàn),掃描碼是依據(jù)鍵盤的實(shí)際布局的。Windows開發(fā)者認(rèn)為這些代碼過於與設(shè)備相關(guān)了,於是他們?cè)噲D通過定義所謂的虛擬鍵碼,以便經(jīng)由與裝置無關(guān)的方式處理鍵盤。其中一些虛擬鍵碼不能在IBM相容機(jī)種上產(chǎn)生,但可能會(huì)在其他制造商生產(chǎn)的鍵盤中找到,或者在未來的鍵盤上找到。
您使用的大多數(shù)虛擬鍵碼的名稱在WINUSER.H表頭檔案中都定義為以VK_開頭。

當(dāng)用戶按下某個(gè)鍵時(shí),  
1.鍵盤會(huì)檢測到這個(gè)動(dòng)作,并通過 鍵盤控制器 把 掃描碼(scan code) 傳送到計(jì)算機(jī);   鍵盤掃描碼跟具體的硬件有關(guān)的,不同廠商對(duì)同一個(gè)鍵的掃描碼有可能不同。  
2.計(jì)算機(jī)接收到 掃描碼 后,將其交給 鍵盤 驅(qū)動(dòng)程序 ;  
3. 鍵盤驅(qū)動(dòng)程序 把這個(gè) 掃描碼 轉(zhuǎn)換為 鍵盤虛擬碼 ;   虛擬碼與具體硬件無關(guān),不同廠商的鍵盤,同一個(gè)鍵 的 虛擬碼 總是相同的。
4.然后,鍵盤驅(qū)動(dòng)程序 把該鍵盤操作的 掃描碼 和 虛擬碼 以及 其它信息 傳遞給 操作系統(tǒng);
5.操作 系統(tǒng)將獲得 的信息封裝在一個(gè) 鍵盤消息 中,并把該 鍵盤消息 插入到 消息列隊(duì)。 6.通過Windows的 消息系統(tǒng),該 鍵盤消息 被送到 某個(gè)窗口 中;
7.窗口所在的應(yīng)用程序 接收到消息后,可以了解到有關(guān) 鍵盤操作的信息,然后決定作出一定的響應(yīng)

總結(jié)

以上是生活随笔為你收集整理的汇编中的扫描码、ASCII码(也称字符码)、扩展码、虚拟键码 的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。