VC面板庫SkinSharp 1 0 6 6的使用

2021-06-21 08:25:34 字數 1253 閱讀 3484

skinsharp又稱skin#,是windows環境下一款強大的換膚庫。skinsharp換膚庫不是com元件,無需進行系統註冊,僅以標準dll方式存在。

skinsharp作為換膚工具,只需要在您的程式中新增一行**,就能讓您的介面煥然一新,並擁有多種主題風格和色調的動態切換功能以及vista透明邊框特效。

文件**:

使用方法:

1 前提是已經建立了vc mfc工程

2 將skinsharp安裝包 skinh_vc/bin/ 目錄下的兩個檔案:skinh.h 和 skinhu.lib 新增到工程目錄下 (通常是 *.aps .dsp .vcproj所在的目錄)

3 在預編譯標頭檔案 stdafx.h中 ,增加兩行宣告:

#include "skinh.h"

#pragma comment(lib, "skinhu.lib")      是unicode版本,skinh.lib是多位元組版本

4 在主對話方塊的 oninitdialog成員函式中增加換膚命令:

skinh_attach();

5 編譯project後,將動態庫 skinhu.dll和**檔案 skinh.she拷貝到程式生成的目錄 ../debug

然後執行程式,效果可以看到了

注意:您可以在任意**段呼叫介面,推薦在程式載入時進行呼叫。載入換膚後,程式關閉時,無需呼叫解除安裝**介面,skinsharp換膚庫會自己完成清理工作。換膚時無需解除安裝**,直接呼叫即可。

去掉skinsharp小圖示的**:

void enableskinsharpmemorypatch()

unsigned char *ppatchbyte = null;

dword dwoldprotect = 0;

ppatchbyte = (unsigned char*)((dword)hskinbase + 0x00021632);

virtualprotectex(getcurrentprocess(),ppatchbyte,4,page_execute_readwrite,&dwoldprotect);

*ppatchbyte = 0x50;

ppatchbyte = (unsigned char*)((dword)hskinbase + 0x0000f37f);

virtualprotectex(getcurrentprocess(),ppatchbyte,4,page_execute_readwrite,&dwoldprotect);

*ppatchbyte = 0x50;

}

VC面板庫SkinSharp 1 0 6 6的使用

個人測試 windows 7系統 visual studio 2008 sp1 環境 步驟一 新建基於對話方塊的工程,本次測試在vs2008sp1下,工程名任意 步驟二 將換膚庫標頭檔案和鏈結庫檔案 skinh.h,skinhu.lib 拷貝到工程的目錄下 步驟三 在工程的stdafx.h標頭檔案,...

VC面板庫SkinSharp 1 0 6 6的使用

個人測試 windows 7系統 visual studio 2008 sp1 環境 步驟一 新建基於對話方塊的project,本次測試在vs2008sp1下,project名隨意 步驟二 將換膚庫標頭檔案和鏈結庫檔案 skinh.h skinhu.lib 複製到project的資料夾下 步驟三 在...

VC面板庫SkinSharp 1 0 6 6的使用

個人測試 windows 7系統 visual studio 2008 sp1 環境 步驟一 新建基於對話方塊的project,本次測試在vs2008sp1下,project名隨意 步驟二 將換膚庫標頭檔案和鏈結庫檔案 skinh.h skinhu.lib 複製到project的資料夾下 步驟三 在...