[轉載]Windows程式如何建立一個視窗。

摘抄自羅雲彬的《Windows環境下32位組合語言程式設計》 第4章 第一個視窗程序  4.1 開始瞭解視窗(3)  讓我們開啟一個DOS視窗,切換到FistWindow所在的目錄,運行環境設定的批次檔var.bat,再鍵入nmake編譯出FirstWindow.exe,這個程式只有2 560位元組,運行後視窗出來了,4.3所示。對於這個視窗,使用者可以拖動邊框去改變大小、按標題列上的按鈕來最大化和最小化,當游標移到邊框的時候,會自動變成雙箭頭……總之,這個視窗包括了一個典型視窗的所有特徵。  

windows程式設計(4):分解掃雷程式之計時器

上次忘了說明,因為我想做一個逼真的掃雷,所以我的掃雷程式的位元影像都是從windowsXP下面的掃雷裡來的。具體是怎麼擷取位元影像的呢?我的是windows7系統,裡面的掃雷跟XP的不一樣,我先下載了一個Xp下的掃雷,然後使用一個軟體:PE

windows程式設計(2):WM_PAINT訊息詳解

什麼時候會觸發WM_PAINT訊息訊息呢?以下內容來自大名鼎鼎的《Windows程式設計(第五版)》大多數Windows程式在WinMain中進入訊息迴圈之前的初始化期間都要呼叫函數UpdateWindow。Windows利用這個機會給視窗訊息處理常式發送第一個WM_PAINT訊息。這個訊息通知視窗訊息處理常式:必須繪製顯示地區。此後,視窗訊息處理常式應在任何時刻都準備好處理其它WM_PAINT訊息,必要的話,甚至重新繪製視窗的整個顯示地區。在發生下面幾種事件之一時,視窗訊息處理常式會接收到一個

windows程式設計(5)使用捲軸

本文的程式來自《windows程式設計(第五版)》設計捲軸的初衷,是因為客戶區需要顯示的東西太多了,在這個標頭檔中,我們包含了一大堆的系統的資訊://總行數#define NUMLINES ((int) (sizeof sysmetrics / sizeof sysmetrics [0]))struct{int Index ;TCHAR* szLabel;TCHAR* szDesc ;}//結構體數組sysmetrics [] = {

windows程式設計(3):分解掃雷程式之雷區翻蓋

假如讓你寫一個掃雷程式,在沒有相關資料的前提下,應該從哪裡入手呢?我們先想想掃雷程式都有什麼:菜單,秒錶,記雷數,複位,還有雷區等雜七雜八的東西。而整個程式的關鍵,就在於雷區。因為如果沒有秒錶,記雷數等功能,掃雷勉強還是可以玩的,但如果沒了雷區,就玩不了了。那麼雷區又是怎麼一回事呢?肯定要有一個資料結構來記錄地雷和周圍的數,而程式跟你互動的主要部分,就是在雷區上點一下,然後顯示一幅圖片,還有雙擊雷區翻開周圍一片的操作。說白了,就是在畫圖。所以整個掃雷程式,就從畫圖先開始吧。LRESULT

windows程式設計(9):簡單的GDI對象

第一個要介紹的是畫筆。通常我們理解的劃線,應該是在劃線函數中指明,我這條線畫出來應該有多寬,線的類型是什麼(比如虛線,點劃線,實現)等等。而且很多地方就是這樣做的,比如開源電腦視覺庫OpenCV,Matlab等等中就是這樣。但是Windows程式設計卻是另一種思路:我先設計一個畫筆,這根筆決定了我劃線的顏色,粗細,線型等等。然後選擇這根筆,最後劃線。這樣做好處其實也很多,大家如果習慣了word或者visio裡面的繪圖的話,也不難理解這樣做的方便之處。舉一個例子:#include

windows程式設計(6):基本畫圖

windows程式畫圖,大體上有3種方法:(1)你告訴系統點的座標和顏色,系統通過SetPixel來畫。類似的,通過GetPixel來擷取某一點像素值。(2)使用MoveToEx、LineTo來劃線,MoveToEx設定起點座標,LineTo設定終點座標,或者使用Polyline函數,這個函數接受一個POINT類型的數組,通過數組裡的點連線。(3)windows提供了一些基本圖形繪製的函數供我們直接調用,比如Rectangle繪製矩形,Ellipse繪製橢圓,RoundRect繪製圓角橢圓。下面

windows程式設計(7):繪製貝茲路徑

#include <windows.h>#include <math.h>#define NUM 1000#define TWOPI (2*3.14159)LRESULT CALLBACK WndProc (HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain(HINSTANCE hInstance,//當前執行個體控制代碼 HINSTANCE hPrevInstance, //先前執行個體控制代碼 LPSTR

windows程式設計的四書五經

內容整理自互連網。所謂的Win32開發,就是在C語言的層面上,直接使用Win32 API開發Windows應用程式或者系統程式。雖說現在直接用Win32 API開發應用程式的人已經不多了,深入理解Windows系統程式設計原理,仍然是成為Windows開發高手的必經之路。所謂的Win32,其實是一個API規範,與UNIX系統編程介面標準POSIX是同一個性質的概念。從設計上講,Win32絕對算不上是簡潔優雅,因此學習Win32系統編程,相對來說是比較困難的。Win32來源於Win16,而Win1

windows程式設計(8):映射模式

什麼是映射模式呢?為了說清楚這個概念,我們先介紹兩個名詞:“視窗”、“視口”。視口是基於裝置座標的。對於顯示器,就是像素的,也就是你看到的。而視窗是基於邏輯座標的,虛擬,也是你寫程式時使用的。而且與你當前拿到的裝置描述表有關,一般通過beginPaint拿到的都是客戶區;而使用getDC拿到的則是通常意義下的視窗:客戶區+功能表列+工具列+標題列等等。而視窗到視口的座標映射,就是映射模式。用數學公式表述為:視窗到視口:xViewport = (xWindow-xWinOrg)*xViewExt/

Windows XP下MinGW的安裝與配置

Windows XP下MinGW的安裝與配置 到http://sourceforge.net/projects/mingw/ 手動去下載最新的MinGW,或使用MinGW-5.1.4.exe,自動下載。但後者往往不能下載到最新的穩定包。 1、手動下載說明,參見:http://www.mingw.org/wiki/HOWTO_Install_the_MinGW_GCC_Compiler_Suite 可從:http://sourceforge.net/projects/mingw/ 選擇包下載。 2

[轉載] DELPHI下的WINDOWS訊息傳遞機制

    [轉載] DELPHI下的WINDOWS訊息傳遞機制       

轉:Windows NT/2000/XP下不用驅動的Ring0代碼實現

    大家知道,Windows NT/2000為實現其可靠性,嚴格將系統劃分為核心模式與使用者模式,在i386系統中分別對應CPU的Ring0與Ring3層級。Ring0下,可以執行特權級指令,對任何I/O裝置都有訪問權等等。要實現從使用者態進入核心態,即從Ring 3進入Ring 0必須藉助CPU的某種門機制,如中斷門、調用門等。而Windows NT/2000提供使用者態執行系統服務(Ring 0常式)的此類機制即System Service的int 2eh中斷服務等,嚴格的參數檢查,只能

轉:Windows NT/2000內部資料結構探究

    WINDOWS系統隱含了不少內部資料結構,其記錄著與系統相關的所有重要訊息如線程、進程、核心調用等等,具體如Windows NT/2000模組ntoskrnl.exe中的NtBuildNumber與KeServiceDescriptorTable等(用SoftICE或Visual Studio所帶的Dependency Walker之類的可以看到),前者只是指出當前Windows的Build號(如SoftICE下可用dw命令查出我的機器中為0893h

Windows/System32/Config/System檔案丟失的修複方法

啟動故障修復主控台、建立臨時檔案夾、將現有註冊表檔案備份到新位置、刪除現有位置的註冊表檔案,然後將註冊表檔案從修複檔案夾複製到 System32/Config 檔案夾中。完成此過程之後將建立一個註冊表,您可以使用此註冊表啟動 Windows XP具體步驟將 Windows XP 啟動盤插入軟碟機,或將 Windows XP 安裝光碟片插入 CD-ROM 光碟機,然後重新啟動電腦。 按照提示,單擊以選中從 CD-ROM 光碟機啟動電腦所需的所有選項。 出現“歡迎使用安裝程式”螢幕時,按 R

虛擬機器中安裝windows8錯誤-HAL_INITIALIZATION_FAILED和

文章目錄 一、HAL_INITIALIZATION_FAILED錯誤

windows配置node環境

本文來自:nodejs技術論壇——http://www.tnodejs.com之前介紹了一下在Linux下配置node的各種環境,已經安裝包!如何在windows下配置呢?其實很簡單如下步驟:1、官網下載最新的node for windows安裝包http://nodejs.org/#download2、安裝軟體步驟預設就行3、進入dos命令視窗這個應該不需要介紹了,在運行視窗輸入cmd4、執行下node --version查看是否安裝成功,並且查看node的版本資訊如果成功會顯示:v0.6.1

用VC實現動態改變Windows的顯示特性

對於Windows平台,顯示器的分辯率、顏色數、重新整理率等特性很重要,尤其是對於多媒體應用軟體和遊戲軟體。在很多情況下,使用者當前的螢幕設定並不適合軟體的運行需要,軟體通常的做法是提示使用者將螢幕設定到軟體要求的分辯率及顏色數,再重新啟動軟體。這樣無疑會增加普通使用者操作上的負擔和困難,降低了軟體的友好性和易用性。理想的作法是:在軟體開始時,動態改變螢幕設定來達到軟體啟動並執行要求。在軟體運行結束後,再自動把螢幕設定改回原來的設定值。這一切過程都在不知不覺中完成。本例示範了動態設定系統顯示分辯

如何解決USB裝置在Windows Vista下不能識別的問題!

    當你插入移動硬碟、滑鼠、SD卡、MP3等驅動時,系統提示要安裝驅動,這個SB系統說它找到通用卷的驅動了,就是安裝的時候出了點問題,它找不到指定的檔案了可笑的是微軟出了一個號稱可以解決這個問題的fix,kb940199,但是這個安裝補丁需要正版,而且據其它使用者反應就是安裝了也是沒有什麼作用,安裝時說   "更新不會應用到系統" , the update does not apply to your system,你看我使用的不就是微軟最新的,最先進的VISTA嘛,怎麼能does not

如何在windows環境下刪除或增加服務!

有時修改在實際應用中,我們會遇到需要加一些服務到windows的服務進程中,但如何加呢?下面通過具體執行個體做如下介紹: 增加服務(inetsvr.inf):[Version] Signature="$WINDOWS NT$" [DefaultInstall.Services] AddService=tomcatsvr,,My_AddService_Name [My_AddService_Name] DisplayName=Apache Tomcat Description=Tomcat服務啟動

總頁數: 1357 1 .... 261 262 263 264 265 .... 1357 Go to: 前往

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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