/*
* DEC 93 Erik Bos <erik@xs4all.nl>
*
* Copyright 1996 Marcus Meissner
*
目前分類:[程式開發] (25)
- Aug 13 Thu 2015 17:32
程式開發 | kernel32/comm.c
- Aug 13 Thu 2015 17:27
程式開發 | Windows NT啟動過程詳解
Windows NT啟動過程詳解
我們每天都在和Windows打交道,很多人可能每天都要面對多次Windows的啟動過程,可是您知道在Windows的啟動過程背後,隱藏著什麼秘密嗎?在這一系列過程中都用到了哪些重要的系統檔案?系統的啟動分為幾個步驟?在這些步驟中電腦中發生了什麼事情?這些就是本文試圖告訴您的。
隨著技術的發展,我們能夠見到的電腦硬體種類越來越多。以電腦上最重要的組件CPU來說,目前就有很多選擇。當然,這裡的選擇並不是說AMD或者Intel這種產品品牌,而是指其內部的系統架構。目前常見的CPU系統架構主要是基於複雜指令集(Complex Instruction Set Computing,CISC)或者精簡指令集(Reduced Instruction Set Computing,RISC),我們常用的Intel的Pentium、Celeron系列以及AMD的Athlon、Sempron系列都是基於複雜指令集的,而這些基於復雜指令集的CPU還有32位元和64位元的暫存器資料寬度區別。關於這些指令集以及暫存器資料寬度之間的區別等內容比較繁雜,而且不是本文的重點,感興趣的朋友可以自己在網上搜索相關內容。
因為CPU種類的不同,在不同CPU的系統中執行的Windows的啟動過程也有一些小的不同。本文將會以目前來說最普遍的,在x86架構的系統上安裝的32位Windows XP Professional為例做介紹。
- Aug 13 Thu 2015 17:27
程式開發 | 如何調整自己編寫的服務的啟動順序
我們使用VC編寫了一個Windows服務程序後,有時候需要調整其啟動順序,比如希望在其它一些程序之前啟動自己的服務程序,則我們首先必須瞭解Windows服務的啟動機制是什麼?
Windows服務的啟動是按組來啟動的,這些組的啟動順序在註冊表中如下位置定義:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder下的一個名List的REG_MULTI_SZ鍵值中可以看到。
而我們在編寫Windows服務程序時其實是可以對啟動順序進行設置的,我們先來看看CeateService函數原型:
SC_HANDLE CreateService(
- Aug 13 Thu 2015 17:19
程式開發 | MFC UNICODE項目CFILE寫html文件亂碼解決
MFC UNICODE項目CFILE寫html文件亂碼解決
CFile file; CString filename = D:\\; filename+=L"index.html"; file.Open(filename,CFile::modeCreate|CFile::modeWrite); file.SeekToBegin(); WORD unicode = 0xFEFF; //UNICODE編碼文件頭 file.Write(&unicode,2); file.Write(CString內容,CString內容.GetLength()*2); file.Flush(); file.Close();
文本支持四種格式:ANSI/Unicode/Unicode big endian/UFT-8
不同編碼的文本,是根據文本的前兩個字節來定義其編碼格式的。定義如下:
- Aug 13 Thu 2015 17:13
程式開發 | #pragma pack(1)表示的意義