win如何为button设置图片(button自定义图标)

win32创建的按钮默认是没有图片的,也就是默认的系统风格,如图:

自定义按钮图标的大致步骤

第一步:创建按钮时style添加BS_BITMAP或BS_ICON。

第二步:发送BM_SETIMAGE消息指定图标。

自定义图标支持的图标格式

c++创建win32无边框窗口

无边框窗口

没有系统默认标题栏和默认边框的窗口,可以根据我们的需要实现完全自绘,大多数界面库都是使用无边框窗口进行自绘控件的。

默认窗口效果和无边框窗口效果对比

创建无边框窗口

创建一个默认的win32窗口,然后处理一下 WM_NCCALCSIZE 消息,就可以成为无[……]

继续阅读

c++实现windows进程伪装 – 进程隐藏技术

进程伪装

进程伪装,其实就是通过修改peb里的进程名,可以将当前进程的信息指向一个存在甚至是不存在的进程。比如当前以a.exe运行,在运行后修改peb里的进程名为b.exe,那么他人想要获取当前进程的路径时,获取到的就是b.exe,然而我们在本地还是a.exe,因此就无法正确获取到我们的进程信[……]

继续阅读

大端模式和小端模式的区别以及如何判断大小端

在计算中,字节顺序是指数字的二进制表示内的字节(或有时是位)的顺序。它也可以更普遍地用于指代任何表示的内部排序,例如数字系统中的数字或日期的部分。

在最常见的用法中,字节顺序表示多字节数字内的字节顺序,而大小端字节的排列顺序是相反的。我们常用的X86结构是小端模式,而KEIL C51则为大端模[……]

继续阅读

c++ windows固定到任务栏(应用程序或快捷方式)

将一些常用的应用程序固定到任务栏,可以方便我们使用时快速打开。下面就介绍一下使用c++固定到任务栏的几种方法。

方法一

使用ShellExecute接口,但是这个方法在win10已经无效了。

方法二

此方法在win10测试有效,按理来说其它环境应该也支持(xp是个奇葩,不[……]

继续阅读

排序算法-选择排序

选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。

时间复杂度

O(n²)

最坏情况合适发生?

数组顺序与需要的顺序正好相反。

步骤

排序算法-冒泡排序

冒泡排序也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由冒泡排序(英语:Bubble Sort)又称为泡式排序,是一种简单的排序算法。它重复地走访过[……]

继续阅读