Ⅰ windows編程基礎 利用WIN32API編寫WinMain函數,完成窗口類的注冊,窗口的創建,顯示,更新,並完成消息循
///////////////////////////////////////////////////////////////
// 04FirstWindow.cpp文件
#include <stdio.h>
#include "stdafx.h"
// 窗口函數的函數原形
LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM);
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
char szClassName[] = "MainWClass";
WNDCLASSEX wndclass;
// 用描述主窗口的參數填充WNDCLASSEX結構
wndclass.cbSize = sizeof(wndclass); // 結構的大小
wndclass.style = CS_HREDRAW|CS_VREDRAW; // 指定如果大小改變就重畫
wndclass.lpfnWndProc = MainWndProc; // 窗口函數指針
wndclass.cbClsExtra = 0; // 沒有額外的類內存
wndclass.cbWndExtra = 0; // 沒有額外的窗口內存
wndclass.hInstance = hInstance; // 實例句柄
wndclass.hIcon = ::LoadIcon(NULL,
IDI_APPLICATION); // 使用預定義圖標
wndclass.hCursor = ::LoadCursor(NULL,
IDC_ARROW); // 使用預定義的游標
wndclass.hbrBackground = (HBRUSH)
::GetStockObject(WHITE_BRUSH); // 使用白色背景畫刷
wndclass.lpszMenuName = NULL; // 不指定菜單
wndclass.lpszClassName = szClassName ; // 窗口類的名稱
wndclass.hIconSm = NULL; // 沒有類的小圖標
// 注冊這個窗口類
::RegisterClassEx(&wndclass);
// 創建主窗口
HWND hwnd = ::CreateWindowEx(
0, // dwExStyle,擴展樣式
szClassName, // lpClassName,類名
"My first Window!", // lpWindowName,標題
WS_OVERLAPPEDWINDOW, // dwStyle,窗口風格
CW_USEDEFAULT, // X,初始 X 坐標
CW_USEDEFAULT, // Y,初始 Y 坐標
CW_USEDEFAULT, // nWidth,寬度
CW_USEDEFAULT, // nHeight,高度
NULL, // hWndParent,父窗口句柄
NULL, // hMenu,菜單句柄
hInstance, // hlnstance,程序實例句柄
NULL) ; // lpParam,用戶數據
if(hwnd == NULL)
{
::MessageBox(NULL, "創建窗口出錯!", "error", MB_OK);
return -1;
}
// 顯示窗口,刷新窗口客戶區
::ShowWindow(hwnd, nCmdShow);
::UpdateWindow(hwnd);
// 從消息堆中取出消息
MSG msg;
while(::GetMessage(&msg,NULL, 0, 0))
{
// 轉化鍵盤消息
::TranslateMessage(&msg);
// 將消息發送到相應的窗口函數
::DispatchMessage(&msg);
}
// 當GetMessage返回0時程序結束
return msg.wParam;
}
LRESULT CALLBACK MainWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
char szText[] = "最簡單的窗口程序!";
switch (message)
{
case WM_PAINT: // 窗口客戶區需要重畫
{
HDC hdc;
PAINTSTRUCT ps;
// 使無效的客戶區變的有效,並取得設備環境句柄
hdc = ::BeginPaint (hwnd, &ps) ;
// 顯示文字
::TextOut(hdc, 10, 10, szText, strlen(szText));
::EndPaint(hwnd, &ps);
return 0;
}
case WM_CHAR:
{
char szChar[20];
sprintf(szChar,"char is %d",wParam);
MessageBox(hwnd,szChar,"Windows",MB_OK);
break;
}
case WM_LBUTTONDOWN:
{
MessageBox(hwnd,"mouse clicked","message",0);
HDC hdc;
hdc=GetDC(hwnd);
TextOut(hdc,0,50,"Windows program",strlen("Windows program"));
ReleaseDC(hwnd,hdc);
break;
}
case WM_CLOSE:
if(IDYES==MessageBox(hwnd,"是否退出程序?","Windows",MB_YESNO))
{
DestroyWindow(hwnd);
}
case WM_DESTROY: // 正在銷毀窗口
// 向消息隊列投遞一個WM_QUIT消息,促使GetMessage函數返回0,結束消息循環
::PostQuitMessage(0) ;
return 0 ;
}
// 將我們不處理的消息交給系統做默認處理
return ::DefWindowProc(hwnd, message, wParam, lParam);
}
Ⅱ 一本書windows網路編程pdf誰有給發一下。謝謝
分享給你,滿意請採納。
Ⅲ windows 游戲編程大師技巧第二版 PDF
http://www.verycd.com/topics/2780526/你打開這個網站 可以用迅雷下載
你看看這個
本書是著名游戲程序設計類書籍作者André LaMothe的兩卷本《Windows游戲編程大師技巧》中的第一卷的第二版。和作者撰寫的其他暢銷書一樣,在書中隨處可見許多有趣但又有一定難度的源程序。作者循循善誘地從程序設計的角度介紹了在Windows環境下進行游戲開發所需的全部知識,包括Win32編程以及DirectX中所有主要組件(包括DirectDraw、DirectSound、DirectInput和DirectMusic)。書中還用單獨的章節詳細講授了2D圖形學和光柵化技術、游戲演算法、多線程編程、文本游戲和解析、人工智慧(包括模糊邏輯、神經網路和遺傳演算法)、物理建模(完全碰撞反應、動量傳遞和正反向運動學)及實時模擬等游戲程序開發中的關鍵技術。光碟上帶有兩套完整的在線電子版書籍,內容涉及General 3D圖形和演算法以及Direct3D直接模式;此外,還有大量其他特約作者所著的關於游戲編程內容的文章。
光碟內容:
·本書中所有程序的代碼,還包括一個新的16位引擎
·關於Direct3D和General 3D的文章和在線書籍
·通用游戲編程工具以及3D引擎的評定版本
·免費素材
·完整的Microsoft DirectX SDK
·Microsoft Visual C++入門版
300多m的是本書帶的光碟內容。網上只找到第一版書的中文pdf,第二版是英文chm格式
Ⅳ 逐夢旅程:Windows游戲編程之從零開始 完整版400多M pdf
親測,可打開。
Ⅳ 《windows核心編程》第五版(英文版) PDF下載
我剛掃了一眼,有一些用了c++特性的代碼,比如類,成員變數,模板函數。繼承和虛函數啥的沒看到有用。
Ⅵ 《Windows核心編程(第5版)微軟技術叢書》pdf下載在線閱讀,求百度網盤雲資源
《Windows核心編程》(Jeffrey Richter)電子書網盤下載免費在線閱讀
鏈接:
書名:Windows核心編程
作者:Jeffrey Richter
豆瓣評分:9.2
出版社:人民郵電出版社
出版年份:2008-8
頁數:820
內容簡介:
【內容簡介】
本書是Windows 程序設計領域的名著,涵蓋了Windows 的最新版本Vista 以及Windows XP 的最新內容。書中全面深入地介紹了Windows 的各種基本要素,如進程、線程池、虛擬內存、DLL、設備I/O 和SEH 等,並列舉了大量應用程序,精闢地分析了要素的使用方法。.
本書適於各層次Windows 編程人員閱讀。 ...
【目錄信息】
Acknowledgments . xxi
Introction xxiii
64-Bit Windows xxiii
What』s New in the Fifth Edition xxiv
Code Samples and System Requirements xxvi
Support for This Book xxvi
Questions and Comments xxvi
Part I Required Reading
1 Error Handling 3
Defining Your Own Error Codes 7
The ErrorShow Sample Application 7
2 Working with Characters and Strings 11
Character Encodings 12
ANSI and Unicode Character and String Data Types 13
Unicode and ANSI Functions in Windows 15
Unicode and ANSI Functions in the C Run-Time Library 17
Secure String Functions in the C Run-Time Library 18
Introcing the New Secure String Functions 19
How to Get More Control When Performing String Operations 22
<< 查看詳細目錄
作者簡介:
Jeffrey Richter全球享有盛譽的微軟技術專家,著名技術咨詢和培訓公司Wintellect創始人之一,MSDN Magazine雜志特邀編輯。多年來,他擔任微軟各開發團隊顧問,參與了微軟的許多關鍵產品包括各版本Windows、Visual Studio、Microsoft Offce和.NET框架的設計和編程。他撰寫了一系列著作,包括本書和《深入理解.NET》(第2版·英文版,人民郵電出版社。2008),都堪稱技術圖書的典範,影響了一代Windows程序員,並因此榮獲微軟公司杜區最高技術榮譽「微軟軟體傳奇人物」(Software Legend)稱號。