代码 /////////////////////////////////////////////////////////////////////// /// <summary> /// Enables the elevated shield icon on the given button control /// </summary> /// <param name="ThisButton"> /// Button control to enable the elevated s…
代码 /////////////////////////////////////////////////////////////////////// /// <summary> /// Enables the elevated shield icon on the given button control /// </summary> /// <param name="ThisButton"> /// Button control to enable the elevated s…
代码 /// <summary> /// 判断程序是否是以管理员身份运行。 /// </summary> public static bool IsRunAsAdmin() { System.Security.Principal.WindowsIdentity id = System.Security.Principal.WindowsIdentity.GetCurrent(); System.Security.Principal.WindowsPrincipal principal = n…
声明 在这之前我写了一篇关于怎么样创建一个空的Xtreme ToolkitPro的皮肤工程,今天就写一篇怎么样将原有的MFC工程添加Xtreme ToolkitPro皮肤。 使用Xtreme ToolkitPro给MFC应用换肤 - http://172.16.40.140:8081/xtreme-toolkitpro-to-skin-your-mfc-applications/ 创建MFC工程 我这里为了让大家看的明白我就创建一个新的MFC工程,当然也可以不用创建可以直接在你当期的MFC工程中使用本方法。 我的M…
安装说明 本篇文章的加载方式为静态加载皮肤,也就是程序在发布的时候不需要Xtreme ToolkitPro的DLL文件。 首先我们要先要编译一个静态库,具体操作如下: 然后就是等待编译完成,这个编译速度和你的机器有关系,一般情况下差不多需要10-20分钟就可以编译完成,还请耐心等待。 新建MFC工程 我这里新建一个MFC的基本对话框工程,其他的工程也是类似操作,具体的构建过程如下。 增加皮肤资源 可以说这里是我们的重头戏,打开开始菜单-Codejock Software-Xtreme ToolkitPro 2012…
今天测试用LUA调用windows的MessageBoxW函数。需要在LUA中定义UNICODE字符串。LUA的string类型为8位编码,包括数值0,可以编码任意二进制数据。如果编码UNICODE,则需要使用"\"转义序列。如字符串"LUA"如果使用UNICODE 在LUA中表示为: text = "760085006500"如果字符串很长,也可以使用TABLE的方式来表示: text = table.concat{"7600","8500","6500"…
说明 此文不适于MFC初学者,尤其适合对MFC有一定基础和了解,面临开发环境从VC6迁移到VC2008的小菜鸟们。 做个界面,主要是Demo作用,因此不管多丑陋,只要比控制台直观就好。 界面格式如下: 整个程序基于对话框,对话框上有一个tabcontrol控件,该控件有两个tabpage,第一个tabpage用于显示查找的字典信息。(字典在数据库中),第二个tabpage用于演示分词算法。 问题 难点一:VS2008中如何使用tabcontrol控件? 此部分主要参照资料:http://hi.baidu.com/t…
说明 二维码,又叫QR码,是在一维条码的基础上扩展出的一种具有可读性的条码,用某种特定的几何图形按一定规律在平面上分布的黑白相间的图形记录数据符号信息。 随着智能手机和移动互联网的兴起,二维码已成为网页浏览、应用下载、手机购物、移动支付等服务的重要入口,目前已被广泛应用于数字内容下载、自动化文字传输、网址快速连接、身分鉴别与商务交易等领域。 当然,除了应用于商业,在移动互联网时代,二维码也可以是每个人的个人身份标识。通过本站提供的在线二维码生成工具,只需几秒钟,您就可以拥有属于自己的二维码名片了! 界面 使用 更新…
说明 已知strcpy函数的原型是: char * strcpy(char * strDest,const char * strSrc); 不调用库函数,实现strcpy函数。 解释为什么要返回char *。 strcpy的实现代码 char * strcpy(char * strDest,const char * strSrc) { if ((strDest==NULL)||(strSrc==NULL)) // [1] throw "Invalid argument(s)"; char * strDestCopy…
说明 inline hook介绍(需要了解的基础知识只要汇编和windows api怎么用就可以了) 前几天刚刚介绍了iat hook,今天再聊聊inline hook,权当学习笔记。 不管程序语言如何发展,不论是面向过程还是面向对象,程序功能的实现一直都是一个一个的函数,因为现在CPU架构和指令的顺序执行特点决定了程序最终的执行是由指令流完成的。 那既然程序由一个一个函数组成,那么改变指令执行流程在函数层面的方法就是在调用函数的瞬间改变调用的函数,这样也就引出了一个 结论:我们要hook一个函数,就在函数开头的地…
正文 下面我们来利用命名管道来创建我们进程间的通信: 第一步:我们来建立一个MFC的基于的单文档的应用程序 第二步:我们在我们的资源里面的菜单中建立我们需要的菜单项,并对其建立命令消息响应 第三步:我们来建立一个成员变量用来存放我们的句柄,并在构造函数中对其进行初始化,在析构函数中将其释放 CNamedpipeView::CNamedpipeView() { // TODO: add construction code here hpipe=NULL; } CNamedpipeView::~CNamedpipeVi…