自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CCCSSSDNNN的专栏

成功者绝不放弃,放弃者绝不会成功!

  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 hook:实现简单的键盘记录器

说到hook技术,开始我真是一头雾水!不久前看到一篇博客,实现 了一个简单的键盘记录器。我从中颇为受益!今天就来和大家分享一下我的一个小例子,并说说我的感悟!首先就从main()函数开始吧,不过这个是带有窗口的程序,切记:WINAPI#define _WIN32_WINNT 0x0500#include #include #include using namespa

2016-05-17 18:49:28 4301 2

转载 C++ map的使用

Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的构造函数;   mapmapstring;         mapmapint;   mapmapstring;         mapmapchar;   mapmapchar;            mapmapint

2015-08-04 10:13:52 436

原创 MD5算法实例

现以字符串“jklmn”为例。该字符串在内存中表示为:6A 6B 6C 6D 6E(从左到右为低地址到高地址,后同),信息长度为40 bits, 即0x28。对其填充,填充至448位,即56字节。结果为:6A 6B 6C 6D 6E 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

2015-04-08 19:51:58 3004 1

转载 MD5算法详细介绍

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变

2015-04-08 19:19:00 1604

原创 qt 中建立空项目时找不到头文件问题

第一次用qt 建立一个空项目,但是开始就是找不到头文集呢!如图:头文件下总是划线。后来在  .pro  文件中加了一句:QT += core gui widgets然后就好啦!关于 .pro  文件内容:在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下:

2015-03-31 21:44:09 4902

转载 Qt学习笔记--编程技巧总结

以命令行的形式改变窗口的现实风格./xxx -style cde/motif/plastique根据标签快捷键定位输入框QLabel *label = new QLabel(tr("&New"));QLineEdit *edit = new QLineEdit();label->setBubby(edit);默认按钮:当用户按下Enter的时候,能够按下对应的按钮

2015-03-28 16:09:32 608

原创 QT 设置各个部件的背景色类

调色板类QPalette QPalette类包含了Qt窗口不见的颜色组(collor group);1.Active组,该组的颜色用户当前活动的(active)窗口,即具有键盘或鼠标焦点的窗口;2.Inactive组,该组用语其他的窗口;3.Disabled组,该组用语窗台为不可用的(disabled)的子窗口部件(不包含窗口).所有Qt窗口部件都拥有一

2015-03-26 18:28:49 969

原创 qt 实现label部件中的图片随鼠标移动

最近在做图片查看器,所以研究了一下这个东西!首先给大家实现一下:先在 .h 文件定义四个函数: void mousePressEvent(QMouseEvent *event); //按下鼠标 void dragEnterEvent(QDragEnterEvent *event); //拖动进入 void dragMoveEvent(QDragMo

2015-03-26 16:07:51 6430

转载 Qt中mouseMoveEvent和mousePressEvent实现鼠标滑动换label颜色

这个搞的时间比较长,最后实现了,却发现因为一个小的失误悲剧的我差点内牛满面。。。当鼠标划过上面的一排Label后,鼠标形状变成手状,并且使label自动切换颜色。很自然的会想到在一个Label上,检测鼠标的mouseMoveEvent事件,当划过label时候,切换到另一个绿色的图片。鼠标的形状可以采用QT自带的Qt::OpenHandCursor。具体

2015-03-26 12:20:43 951

原创 右键菜单创建

先介绍一中较为简单的方法:先包含头文件:#include #include #include 然后就是在你的 .h 文件中定义的函数:void contextMenuEvent(QContextMenuEvent *);接着就是重头戏,在 .h对应的 .cpp 文件中实现函数的:void MainWin

2015-03-25 20:16:48 609

原创 Qt:拖拽图片到QLabel上并显示

#include #include #include #include #include  Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) {    ui->setupUi(this);    ui->label->installEventFi

2015-03-25 18:50:03 787

转载 Qt工程实现打开目录并选中指定文件的方法

项目中需要打开收到的彩信附件目录,并在目录中将该附件选中但不打开。看似简单的一个问题,花了不少时间。网上找了很久,也参考过不少答案,但都有一些问题,不能完全达到想要的效果。几经折腾,终于捣鼓出来了,分享如下:首先,QT工程必须在pro文件中加入 LIBS += -lshell32加入shell32.lib文件,否则工程会报连接出错;

2015-03-24 21:48:53 510

原创 关于qt的布局管理

这里只说说GridLayout。因本人只是用到了这个,开始搞了好久,始终不能让窗体部件自动适应窗体大小。后来才知道要先把自己需要的各个部件都拖进主窗体后,要点中外层的widget然后选layout, 而不是选中若干子控件再选layout, 因为后者的layout和外层的widget没有建立起联系, 这样就不会随着widget的大小改变而改变了。开始始终没发现,都是直接选中部件,在使

2015-03-24 21:42:27 635

转载 QT中如何使控件随窗口改变大小?

如果要改变窗体的大小,它内部的控件一般不随它的变化而变化,内部部件怎么随窗体的大小而改变自身的大小呢?这里我们一般可以对窗口整体进行布局,我们要用到Layout布局部件。    Layout是一种各种UI都很长用的布局手段,Qt的就很不错,比如说GridLayout,你可以把整个窗体布局一个GridLayout,然后再往GridLayout里面放控件或者其他布局,这种布局的手段可以随窗体变化而改变

2015-03-24 20:42:26 1110

原创 Qt 布局管理器

布局管理器是qt提供的一种自动完成窗体布局的工具,减少我们的工作量并且很美观!基本的布局管理器有四种:Horizontal, Vertical, Grid, 和Form 布局管理器。这些在前面的例子都能看到是如何使用的。Qt的帮助文档里也有一个专门讲他们的例子:Basic Layouts。 QHBoxLayout, QVBoxLayout, QGridLayout,和QForm

2015-03-24 09:26:35 892

转载 Qt图片自适应窗口控件大小

Qt图片自适应窗口控件大小思想:1 用QLabel显示图像2 在QWidget或其他窗口部件上显示使用方法:1 在要显示的窗口UI放置一个Widget,我设置大小为256*256(根据你情况)2 在QWidget内放置QLabel ,位置为左上角3 在构造函数内添加如下代码:ui->label->setScaled

2015-03-22 20:02:25 972

转载 fwrite和fread函数的用法小结

fwrite和fread是以记录为单位的I/O函数,fread和fwrite函数一般用于二进制文件的输入输出。[cpp] view plaincopyprint?#include   size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);  size_t fw

2015-03-21 19:00:26 989

转载 哈希表中查找成功和不成功时的平均查找长度如何计算

Question1:将关键字序列(7、8、30、11、18、9、14)散列存储到散列表中。散列表的存储空间是一个下标从0开始的一维数组,散列函数为: H(key) = (keyx3) MOD 7,处理冲突采用线性探测再散列法,要求装填(载)因子为0.7。(1) 请画出所构造的散列表。(2) 分别计算等概率情况下查找成功和查找不成功的平均查找长度。Ans:(1).首先明

2014-11-30 20:52:36 4772 2

转载 DLL中导出函数的两种方式

DLL中导出函数的两种方式(dllexport与.def文件)(2009-03-06 11:34:58)标签:dll 导出函数 两种方式 __declspec dllexport .def 文件 it分类:编程技术DLL中导出函数的声明有两种方式:一种方式是:在函数声明中加上__declspec(dllexport);另外一种方式是:采用模块

2014-11-17 19:21:43 542

转载 钩子函数

钩子,几乎所有的键盘监控程序都使用钩子机制来捕获系统的击键信息。大家知道,在DOS操作系统下,如果要截获某种系统功能,可以在编程中采取截获中断的办法,比如要获取击键信息,可以使用9号中断调用,要获取应用程序对文件操作功能的调用可以截获21号中断。DOS下截获中断的方法是这样的随意和方便,不论是驱动程序还是应用程序都可以操作,这样就给一些恶意程序留下了可乘之机,对系统的安全造成了极大的隐患。而在Wi

2014-11-14 21:26:43 451

转载 warning C4273: dll链接不一致

方法1: 选择项目->属性->预处理器->预处理定义, 增加:HYCOMMONWINAPI_EXPORTS方法2:就是在#ifdef HYCOMMONWINAPI_EXPORTS#define HYCOMMONWINAPI_API __declspec(dllexport)#else#define HYCOMMONWINAPI_API __decls

2014-11-14 14:09:52 4436

转载 小议fprintf函数

在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。sprintf 是个变参函数,定义如下:int sprintf( char *buffer, const char *format [,

2014-11-14 11:38:22 763

转载 DLL初步和钩子入门

1:首先来个静态链接库的。//文件:lib.h#ifndef LIB_H#define LIB_Hextern "C" int add(int x,int y); //声明为C编译、连接方式的外部函数#endif//文件:lib.cpp#include "lib.h"int add(int x,int y){return x + y;}这个静态链

2014-11-02 13:57:08 551

转载 DLL写法与调用

编写DLL其实也不是一件十分困难的事,只是要注意一些事项就够了。为便于说明,我们先举一个例子。library Delphi;usesSysUtils,Classes;function TestDll(i:integer):integer;stdcall;beginResult:=i;end;exportsTestDll;beginend.    

2014-11-01 17:15:01 692

转载 钩子程序

钩子程序钩子程序是在内存中可以不断的在内存中拦截你要控制设备的消息并且可以对该消息进行处理过滤。钩子是WINDOWS留给我们的后门,比如你想控制键盘,在DOS时代很简单通过INT即可,而WINDOWS时代不允许我们直接操作硬件;由于WINDOWS是消息驱动,所以我们可以拦截键盘消息以达到控制键盘的目的。但是控制自己进程的消息固然很简单,要控制所有进程消息要利用钩子了。将钩子函数放在DL

2014-10-31 20:27:16 565

转载 注册表编程自启动

先向大家介绍能让WINDOWS自动启动的2个文件和8个注册键1: 当前用户专用的启动文件夹 将快捷方式放入WINDOWS的用户启动文件夹中.   路径:系统盘:\Document and Settings\\"开始"\程序\启动2:所有用户的启动文件夹  路径:系统盘:\Document and Settings\ALL USER\"开始"\程序\启动以下是注册键,均可以通过注

2014-10-27 19:35:08 484

转载 三种遍历树的算法

递归与非递归转换的基础知识是能够正确理解三种树的遍历方法:前序,中序和后序,第一篇就是关于这三种遍历方法的递归和非递归算法。如何用栈实现递归与非递归的转换(一)三种遍历树的算法一.为什么要学习递归与非递归的转换的实现方法? 1)并不是每一门语言都支持递归的. 2)有助于理解递归的本质. 3)有助于理解栈,树等数据结构.二.三种遍历树的递归和非递归算法     递归与非递

2014-10-22 19:34:01 451

原创 C#中如何实现 textBox 文本的换行

要让一个TextBox显示多行文本就得把它的Multiline属性设置为true,可是如果你是要把TextBox的Text属性设置多行文本时可能会遇到点麻烦,也许你会想到直接加一个换行符"\n":TextBox1.Text = "First Line\nSecond Line\nThird Line";可是实际运行的时候你却发现它始终不会换行,显示的结果为"First LineSecond

2014-10-10 18:06:32 780

todolist_exe.zip

每日计划; 工作进度安排; 日程安排; 工作总结;记录个人待办事项 跟上时间的步伐 做时间的主人!

2019-05-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除