原创 驅動中打印消息以及過濾機制

在驅動開發中打印消息主要使用DbgPrint/KdPrint函數,還有升級版的DbgPrintEx/KdPrintEx。 一、Dbg版本和Kd版本的區別 Dbg開頭的纔是正統的API,而Kd開頭的只是一個宏,最終調用的還是DbgXXX方法

原创 配置VS2013+WDK8.1+VMware的驅動開發環境

網上已經有蠻多搭建驅動開發環境的文章了,實測發現有些步驟是多餘的,所以我重新整理了一下。 新的WDK調試支持網絡、USB等方式,但是我沒有具體嘗試,因爲這些方式不支持Win7,所以我還是使用串口的方式,畢竟Win7市場佔有率還是最高的。

原创 【Magick++】配置開發環境

有兩種安裝方法,一是用官方編譯好的庫,二是自己通過源碼編譯。 第一種方式: 1、去 https://imagemagick.org/script/download.php#windows 下載對應的安裝包。 2、安裝過程中勾選"Insta

原创 【Magick++】創建圖像

初始化庫 使用Magick++之前必須要使用InitializeMagick方法初始化庫,根據官方例子來看,這個函數的唯一一個參數永遠是程序路徑 int main(int argc,char **argv) { Magick

原创 【Lua】模擬Class

跟以前的js一樣,lua也是天生沒有class,需要通過其他方式去模擬。 方式一:使用元表(MetaTable) Animal = {} function Animal:new(age) self.age = age or 0

原创 【Cocos2d-x】模仿熱血傳奇開門動畫

一、準備素材 傳奇登錄場景背景資源在ChrSel.wzl文件中,背景圖索引是22號,開門動畫是24~32號(共9張)。 至於圖片提取,可以參考之前寫過的一篇關於熱血傳奇資源文件的文章https://blog.csdn.net/aqtata

原创 【HGE】使用子窗口功能

在學習HGE的過程中,發現所有例子程序都沒有自己創建過窗口,因爲HGE內部都幫我們創建好了。那麼如果我們有某種需求想自己創建窗口,HGE只負責在給定的窗口中繪圖是否可行呢?也是可以的,HGE提供了子窗口功能,但它並不是在你的窗口上直接畫圖

原创 【Cocos2d-x】讓窗口默認居中顯示

在windows上開發時,默認情況下窗口出現的位置是不確定的,而cocos2d-x也沒有提供api去指定,解決辦法是修改一下源碼。 先創建一個HelloWorld工程看看,以下工程模板是基於cocos2d-x 3.17.1版本,不同版本可

原创 【Cocos2d-x】修改資源搜索路徑

以下研究基於Cocos2d-x 3.17.1版本。 還是從默認的工程模板開始,在場景初始化中創建精靈的地方開始 auto sprite = Sprite::create("HelloWorld.png"); if (sprite ==

原创 【HGE】使用hgeFont渲染圖片字體

通過一個簡單的例子來分析 #include "pch.h" #include <hge.h> #include <hgesprite.h> #include <hgefont.h> #pragma comment(lib, "hge"

原创 通過CNG使用MD5、SHA1等各種Hash算法

在Windows平臺下,可以通過CryptoAPI來使用各種Hash算法,它屬於最早的加密API,兼容Windows XP系統。可能是因爲算法的行爲是不可預知的,導致API擴展性不太好,所以微軟從Vista系統開始又推出了Cryptogr

原创 通過CNG使用DES等對稱加密算法

上篇介紹了Hash的使用方法,這次就用DES算法作爲例子來說明如何使用對稱加密算法 DES + CBC + PCKS7 Padding #include "pch.h" #include <Windows.h> #include <bc

原创 熱血傳奇資源文件wzl、wzx解析

盛大傳奇客戶端的圖片資源都保存在data目錄下的wzl文件中,wzl文件結構比較簡單,由一個文件頭結構和若干圖片數據組成。 找了個最小的wzl文件作爲例子 藍色高亮部分就是文件頭,其中只有ImageCount有意義,其他的字段不清楚是做

原创 認識HGE遊戲引擎

HGE全稱Haaf's Game Engine,是一個C++開發的2D遊戲引擎,基於DirectX 8,最新的版本支持DirectX 9。 最後一個版本是1.81版本,發佈於2008年,也就是十一年前,是的,這個項目已經不再維護了。 我是

原创 【ASP.Net Core】設置JSON中DateTime類型的格式化

不特別設置的話,對於DateTime類型默認格式化爲帶T的字符串,如"yyyy-MM-ddTHH:mm:ss"。 如果需要自定義這個格式,需要在Startup類的ConfigureServices方法中指定 將默認的 services.