欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

DebugView.exe美化全过程

DebugView.exe美化全过程

相信写过驱动的朋友应该用过debugview.exe这个工具吧
你会不会觉得它的界面有点“丑”呢,还有就是观察调试信息的时候窗口要不停的ALT+TAB切换来切换去
今天心血来潮,决定将它改造一下
1,让它有个窗口置顶功能
    这个很容易实现:
    SetWindowPos(wnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
      就ok了,我们的关键点就是要获取它的窗口句柄
2,给它加个“换肤”的功能
    这里我用到一个别人开发好的dll.. ....SkinMagic.dll
      SkinMagic Toolkit 是vc专用的一个皮肤开发包,有兴趣的朋友可以下下来玩玩。
    下面介绍一下它在vc里面针对SDI程序的用法
     (1)包含头文件SkinMagic.h,引入库文件SkinMagic.lib
        (2)在CWinAPP::Instance()里初始化库,这里用到的函数是
             InitSkinMagicLib(hInstance,0,0,0);和
             SetWindowSkin(wnd,"MainFrame");和
             SetDialogSkin("Dialog");
        (3)换肤时调用LoadSkinFile(SkinFileName);进行换肤
好了,流程都知道了,下面就来动手把
我准备在主菜单里面在添加一个子菜单“附加功能”,再在这个子菜单里面添加换肤和窗口置顶几个子菜单
首先我们来修改DebugView.exe,给它的引入库添加我们要用的几个函数
这里我用到的是Stud_PE,它里面有个添加引入函数的功能,这里我就不细述了,接着我们把skin.dll和DebugView.exe放在同一个目录下(我把SkinMagic.dll改名为了skin.dll),再把几个皮肤文件也复制过来
下面我们下修改让它初始化库文件
用od载入DebugView,在他的地址空间里我们要找一个全0的空间,用来添加dll的初始化代码,我找到的是0x419531这个地址,然后我们填入下面这段代码

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功