Windows API一日一練(13)TranslateMessage函數

TranslateMessage是用來把虛擬鍵訊息轉換為字元訊息。由於Windows對所有鍵盤編碼都是採用虛擬鍵的定義,這樣當按鍵按下時,並不得字元訊息,需要鍵盤對應轉換為字元的訊息。TranslateMessage函數用於將虛擬鍵訊息轉換為字元訊息。字元訊息被投遞到調用線程的訊息佇列中,當下一次調用GetMessage函數時被取出。當我們敲擊鍵盤上的某個字元鍵時,系統將產生WM_KEYDOWN和WM_KEYUP訊息。這兩個訊息的附加參數(wParam和lParam)包含的是虛擬按鍵碼和掃描碼等

A new OpenAL 1.1 Installer for Windows and a new OpenAL 1.1 SDK for Windows are now available

終於更新了,好好研究一下A new OpenAL 1.1 Installer for Windows and a new OpenAL 1.1 SDK for Windows are now available at developer.creative.com. This SDK combines the OpenAL SDK with the X-RAM SDK and the Creative Effects SDK to create a single download for

OpenAL® and Windows Vista™

http://www.openal.org/openal_vista.htmlIntroductionWith the launch of Windows Vista just around the corner, both gamers and game developers are asking questions about audio compatibility with OpenAL. This document is intended to address the

Windows計時器

SetTimer函數用於建立一個計時器,KillTimer函數用於銷毀一個計時器。計時器屬於系統資源,使用完應及時銷毀。   SetTimer的函數原型如下: UINT_PTR SetTimer( HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc )

Windows下的宏

1,防止一個標頭檔被重複包含 #ifndef COMDEF_H #define COMDEF_H   //標頭檔內容 #endif 2,重新定義一些類型,防止由於各種平台和編譯器的不同,而產生的類型位元組數差異,方便移植。 typedef  unsigned char      boolean;     /* Boolean value type. */ typedef  unsigned long int  uint32;      /* Unsigned 32 bit value

Windows自訂訊息ID

WM_USER 到 0x7FFF 是為私人視窗類別保留的。你可以將這個範圍認為是在特定的表單類中有意義的專用訊息。想要定義其自己訊息的應用程式應該使用 WM_APP。WM_APP 是確保不會與系統(WM_CREATE 等等)或類/特定控制項訊息如 DM_GETDEFID 相衝突的Message Ranges in Windows0 - (WM_USER-1) 系統使用的保留訊息.如:WM_CREATE 和 WM_SCROLL. WM_USER - 0x7FFF

Windows API一日一練(57)CopyFile和MoveFile函數

在資訊的社會裡,共用資訊是非常重要的。比如你有一個很好的相片,要拷給朋友去分享。又或者你在寫一些比較重要的資料,要進行不定時備份時,也就需要拷貝檔案到不同的目錄裡。這樣就需要使用到函數CopyFile來拷貝檔案,它能夠把一份檔案拷貝多一份出來。我在開發一個資料擷取的軟體裡,由於這個軟體是可以不同的使用者共同使用,使用者跟我說有這樣的需求,就是不同的使用者的資料移動到不同的目錄裡,這樣方便他們管理資料,也方便他們在上千個檔案裡找到自己有用的檔案,而不會與別人的檔案混在一起,這樣就需要把採集資料完成

Windows API一日一練(85)OpenClipboard函數

多個軟體之間進行資料共用是非常重要的,難以想像編輯軟體沒有CTRL+C,CTRL+V的功能,是多麼的不方便。很多的操作,就是拷貝的動作,就是為了資料共用。剪貼簿共用是Windows裡比較重要的功能,比如很多採集資料的軟體為了方便導資料到Excel裡面,就可以使用剪貼簿的功能。還有即見即所得的介面導到Word裡面,也可以使用剪貼簿的功能。 函數OpenClipboard聲明如下: WINUSERAPIBOOLWINAPIOpenClipboard(    __in_opt HWND

Windows API一日一練(14)DispatchMessage函數

前面已經介紹從系統隊列裡擷取一條訊息,然後經過快速鍵的函數檢查,又通過字元訊息函數的轉換,最後要做的事情就是調用DispatchMessage函數,它的意思就是說要把這條訊息發送到視窗裡的訊息處理函數WindowProc。 函數DispatchMessage聲明如下:WINUSERAPILRESULTWINAPIDispatchMessageA(    __in CONST MSG *lpMsg);WINUSERAPILRESULTWINAPIDispatchMessageW(    __in

Windows API一日一練(12)TranslateAccelerator函數

當應用程式運行時,使用者按下快速鍵,這樣就產生了一個按鍵訊息,那麼Windows是怎麼樣把它轉化為快速鍵響應的訊息呢?這就需要使用TranslateAccelerator函數。TranslateAccelerator函數主要的作用就是把訊息跟快速鍵表裡定義的按鍵進行比較,如果發現有快速鍵,就會把這個按鍵訊息轉換為WM_COMMAND或者WM_SYSCOMMAND訊息給視窗的訊息處理函數發送過去。函數TranslateAccelerator聲明如下:WINUSERAPIintWINAPITrans

[轉載]Windows網路編程系列教程之四:Select模型

原文:http://www.51see.com/asp/bbs/public/bp_show.asp?t_id=200308131152297103講一下通訊端模式和通訊端I/O模型的區別。先說明一下,只針對Winsock,如果你要骨頭裡挑雞蛋把UNIX下的通訊端概念來往這裡套,那就不關我的事。通訊端模式:阻塞通訊端和非阻塞通訊端。或者叫同步通訊端和非同步通訊端。通訊端模型:描述如何對通訊端的I/O行為進行管理。Winsock提供的I/O模型一共有五種:select,WSAAsyncSelect

Windows下重疊I/O模型

 一.重疊模型的優點  1.可以運行在支援Winsock2的所有Windows平台 ,而不像完成連接埠只是支援NT系統。2.比起阻塞、select、WSAAsyncSelect以及WSAEventSelect等模型,重疊I/O(Overlapped I/O)模型使應用程式能達到更佳的系統效能。        

Rich Wickham on Windows – Live

有關cross-platform gaming,有這麼一段話:A game that’s an RTS on the PC could be an FPS on the 360, where “I’m the RTS commander, and I’m moving units around and you’re the foot soldier going out and fighting the battles. And how you do effects how I do, and

OpenAL Installer for Windows

OpenAL Installer for WindowsPosted on 4/10/2003Updated April 3, 2006 : Version 1.9.1The OpenAL Installer for Windows will install the OpenAL 1.1 library, enabling support for core OpenAL operations as well as extensions such as EAX and EFX. The

Windows Vista RC1 NVIDIA drivers include OpenGL ICD

世上只有NVIDIA好,有NVIDIA的OpenGLer像塊寶NVIDIA has released Beta drivers for use with Windows Vista x86 RC1 that will enable you to test the basic features and capabilities of the new operating system. The drivers include an OpenGL ICD and offer a control

Windows字型的起源[ZT]

Arial無處不在。  如果你連它都不知道,恐怕你未曾用過現代的個人電腦吧。Arial是所有使用Microsoft產品的使用者——無論在PC還是Mac上——都很熟悉的一種字型。它在印刷排版領域就像病毒一般泛濫成災,充分展現了Microsoft對世界影響的無孔不入。並非因為它的美觀,Arial才到處都是,它看起來其實很平常。然而倒也不是說太樸素了就是壞事。對於字型而言,包含字元的數量和它的曆史是最重要的兩個方面。Arial呢?來曆可疑而包含的字元甚少。其實,Arial

Windows下Hook API技術

 什麼叫Hook API?所謂Hook就是鉤子的意思,而API是指Windows開放給程式員的編程介面,使得在使用者層級下可以對作業系統進行控制,也就是一般的應用程 序都需要調用API來完成某些功能,Hook API的意思就是在這些應用程式調用真正的系統API前可以先被截獲,從而進行一些處理再調用真正的API來完成功能。在講Hook API之前先來看一下如何Hook訊息,例如Hook全域鍵盤訊息,從而可以知道使用者按了哪些鍵,這種Hook訊息的功能可以由以下函數來完成,該函數將

【伺服器架構】(AsyncSelect模型、Windows平台)

此次拖的時間稍長一些,因為遇到幾個難題。一個就是前面提到的死結,其他幾個問題還未解決。遇到的幾個問題和現象,大致總結如下:1。 PC機的最大TCP串連數問題。Windows平台,XP

WINDOWS作業系統中可以允許最大的線程數

預設情況下,一個線程的棧要預留1M的記憶體空間 而一個進程中可用的記憶體空間只有2G,所以理論上一個進程中最多可以開2048個線程 但是記憶體當然不可能完全拿來作線程的棧,所以實際數目要比這個值要小。 你也可以通過串連時修改預設棧大小,將其改的比較小,這樣就可以多開一些線程。 如將預設棧的大小改成512K,這樣理論上最多就可以開4096個線程。 即使實體記憶體再大,一個進程中可以起的線程總要受到2GB這個記憶體空間的限制。 比方說你的機器裝了64GB實體記憶體,但每個進程的記憶體空間還是4GB,

屏蔽控制台應用程式的視窗#pragma comment(linker, “/subsystem:windows /ENTRY:mainCRTStartup”)

眾所周知,控制台應用程式一般都會顯示一個控制台視窗(虛擬DOS視窗),但很多時候控制台程式的執行邏輯根本不需要與使用者進行互動,所以顯示這個難看的視窗純屬多餘,那麼如何將它屏蔽掉呢?下面我向大家介紹一種方法。  作業系統裝載應用程式後,做完初始化工作就轉到程式的進入點執行。程式的預設進入點實際上是由串連程式設定的,不同的連接器選擇的入口函數也不盡相同。在VC下,連接器對控制台程式設定的入口函數是 mainCRTStartup,mainCRTStartup 再調用你自己編寫的

總頁數: 1469 1 .... 144 145 146 147 148 .... 1469 Go to: 前往
Tags Index:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。