自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

倒计时

记录学习、生活。

  • 博客(118)
  • 资源 (4)
  • 收藏
  • 关注

原创 cout与wcout

一直以来只知道有cout用来输出,今天用cout输出wchar时出现问题了,输出结果是一段地址,才发现了wcout的存在。使用wcout输出中文时,又出现问题,中文输出不了,因为我在遍历文件,还以为是FindNextFile的问题,百度了一下基本找不到这问题,原来问题出现在wcout身上。总结几点:1、cout是用来输出char的,如果用cout输出wchar,只会输出地址,要使用wc

2012-08-04 18:49:51 6993

原创 vs2010中奇葩的问题

症状:写的一个单文档的程序,打开之后,窗口永远在左上角,一拖动,窗口大小就变小,BOOLCMainFrame::PreCreateWindow(CREATESTRUCT& cs)中设置cs属性也没有用。解决办法:在PreLoadState()里加CleanState();原因:VS2010会将一些信息写入注册表,这个和之前VS2005,VS2008(SP1除

2012-07-24 21:30:52 2003

原创 Qt布局管理器入门

废话:正式(只是自己觉得啊)开始学Qt大概有一个周左右了,由于以前接触过几天,在Qt Creater下写过几行代码,感觉整体入门还好。就是在vs2010中配置和界面这里遇到问题了,还好,现在都已经解决了。下面说下我遇到的问题和一些感觉吧:1、QMainWindow与QDialog写界面么,刚开始肯定想先试下代码,不想有太多的干扰,我的方法是:在vs2010中新建Qt Console

2012-07-19 21:34:39 4568

原创 【求助】Qt---QGridLayout

tree=new QTreeView(); list=new QListView(); QWidget *Widget=new QWidget(); setCentralWidget(Widget); QGridLayout *mainLayout=new QGridLayout(); mainLayout->setColumnMinimumWidth(0,50); mainLay

2012-07-19 17:42:07 1859

原创 vs2010开发qt程序debug正常,release出错

在debug模式下,配置的动态链接库是qtmaind.lib;QtGuid4.lib;QtCored4.lib;这些链接库,在release模式下是不适用的,进入到qt的目录下,发现了有一些不带d的链接库。于是,把上面三个qtmaind.lib;QtGuid4.lib;QtCored4.lib;链接库,改为qtmaind.lib;QtGui4.lib;QtCore4.lib;重新编译,

2012-07-18 15:42:12 6064

原创 使用VS2010进行QT开发Hello,Qt的实现

主要还是对头文件,库文件的添加。配置及安装请看这个吧:http://tech.techweb.com.cn/thread-465252-1-1.html1、新建Qt Console Application----finish2、配置HelloQT属性---VC++目录---可包含目录中,加入$(QTDIR)\include、$(QTDIR)\include\QtCore。

2012-07-15 10:28:36 4767

原创 Sqlite入门与C/C++的应用

下载地址:http://www.sqlite.org/download.html在该页面上下载Source Code中的sqlite-amalgamation-3071300.zip,该包有含有两个头文件,两个实现文件。下载Precompiled Binaries For Windows中的sqlite-dll-win32-x86-3071300.zip,该包中含有一个def文件,

2012-06-29 21:30:52 1140

转载 Windows API函数大全

正文1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum

2012-06-28 09:39:27 2099

原创 实现程序自己加入开机启动

实现开机启动的方法有很多,但是在Win7中,修改注册表等操作需要高权限,这样的话,感觉就很麻烦。我实现开机启动所用的方法是:为程序自己创建一个快捷方式,然后把快捷方式放入到开始菜单---程序---启动中,这个不需要用管理员权限。可以学习的地方:1、创建快捷方式2、获取启动的文件夹地址(一个api搞定)贴代码:#include #include #include #in

2012-06-27 18:59:25 2176

原创 用内核对象进行线程同步1

1、进程内核对象在创建的时候总是处于未触发状态。当进程终止时系统会自动使进程内核对象变成触发状态。2、线程内核对象也遵循上面的规则。3、等待函数使一个线程自愿进入等待状态,直到指定的内核对象被触发为止。常用的为WaitForSingleObject。4、WaitForMultipleObjects允许调用线程同时检查多个内核对象的触发状态。    WaitForMultipleOb

2012-06-22 09:44:02 954

原创 用户模式下的线程同步

1、在以下两种情况下,线程之间需要相互通信:    1)、需要要让多个线程同时访问一个共享资源,同时不能破坏资源的完整性。    2)、一个线程需要要通知其他线程某项任务已经完成。2、原子访问,指的是一个线程在访问某个资源的同时能够保证没有其他线程会在同一时刻访问同一资源。3、InterlockedExchangeAdd(&g_x,i);相当于g_x++,但是前者是原子操作,

2012-06-19 14:13:26 738

原创 线程优先级关联性

线程的一些其它东西,只是列举一下。没有太理解,没有实际应用一下,先放一下1、进程优先级,可以调用SetPriorityClass来改变进程优先级,也可以改变进程本身的。2、线程相对优先级,使用SetThreadPriority设置,获取线程优先级GetThreadPriority。3、动态提升线程优先级,允许或禁止系统提升一个进程中所有线程的优先级SetProcessPriorityB

2012-06-19 08:10:01 1025

原创 天猫抢红包小工具源码

时间很仓促,写的很乱,也就能用明天一天了。主要还是学习这个过程#include #include #include #include using namespace std;int main(){ cout<<"*************************************************************"<<endl; cout<<"

2012-06-17 21:24:12 9632

原创 线程调度

1、创建一个被挂起的线程装CreateThread函数标志位传入CREATE_SUSPENDED2、ResumeThread恢复被挂起的线程,SuspendThread挂起线程(应当小心使用,防止因挂起而引起死锁)3、常用的Sleep函数,是使线程自愿放弃属于它的时间片中剩下的部分。只是近似。4、切换到另一个线程,系统提供了一个名为SwitchToThread的函数,如果存在一个可调度

2012-06-16 22:22:51 1513

原创 QT学习6

QT---Notepad这个算是比较复杂的一个了生成过程,还是新建空的项目,不要加入界面文件,因为这个程序中所有界面都是用代码来实现的。插入一个main.cpp,再插入一个类Notepad,继承QMainWindow(会生成一个notepad.h和一个notepad.cpp)//notepad.h#ifndef NOTEPAD_H#define NOTEPAD_H#in

2012-06-15 15:42:59 3067

原创 QT学习5

实现了与上一篇一样的布局效果,但是这次通过QGridLayout来实现的,代码简单精炼。#include #include #include int main(int argc,char **argv){ QApplication a(argc,argv); QWidget *w=new QWidget; QGridLayout *layout=new QGr

2012-06-15 15:22:36 912

原创 QT学习4

通过类实现简单的布局,可以做为一种方法来学习。#include #include #include #include #include #include #include #include class MyWidget:public QWidget{ public: MyWidget(QWidget *parent=0,const char *name=0);

2012-06-15 15:19:08 1461

原创 QT学习3

QT学习第三篇原教程中这个地方写的是QVBox的使用,但是现在在QT版本中没有这一个了。我的代码基本实现了原教程中的样子,先上代码,然后分析一下代码吧。代码如下:#include #include #include class MyWidge:public QWidget{public: MyWidge(QWidget *parent=0,const cha

2012-06-15 14:55:35 2612

原创 QT学习2

#include #include #include int main(int argc,char **argv){ QApplication a(argc,argv); QPushButton quit("Quit"); quit.resize(75,30); quit.setFont(QFont("Times",18,QFont::Bold));

2012-06-15 10:07:47 1036

原创 Qt学习1

我主要是跟随http://www.kuqin.com/qtdocument/tutorial.html这个来学习的。其中发现了一些问题,这个教程所使用的qt版本应该4.0以前,所以有一些现在版本不能使用。QT Creator下载地址:http://qt.nokia.com/downloads/downloads#qt-creator把我学习过程中,遇到的一些问题,还有我

2012-06-15 10:01:29 1476

原创 线程基础

1、线程由两部分组成:    1)、线程的内核对象,操作系统用它管理线程。系统还用内核对象来存放线程统计信息的地方。    2)、一个线程栈,用于维护线程执行时所需的所有函数参数和局部变量。2、CreateThread函数是创建线程的Windows函数。不过,如果写的是C/C++代码,就绝对不要调用CreateThread。    可以调用_beginthreadex函数。至于原因

2012-06-13 09:40:10 854

原创 作业中进程

1、进程在创建时,使用的是CREATE_SUSPENDED标志,这样会创建进程,但是不执行任何代码。      由于要创建进程的进程不是作业的一部分,所以新创建的进程也不是作业的一部分,如果立即开始执行代码,      它会“逃离”沙箱,成功做一些我想禁止的事。2、在创建子进程后且在运行之前,必须调用函数BOOL AssignProcessToJobObject(HANDLE hJob

2012-06-13 08:11:35 1768 2

原创 CListCtrl派生类

前段时间,一直用的网上的一个类,数据量一大了以后,界面就显的很卡。网上很多都不合适,就研究了两天(好慢啊,自己太笨了),写了这个类,功能不多,适合新手学习。MyList.h/////////////////////////////////////////////////////////////////////////////CListCtrl类的一个派生类//该类的几点功能://1

2012-06-12 20:01:55 1344

原创 对作业中进程一些操作

1、Windows提供了一个作业(job)内核对象,它允许我们将进程组合在一起并创建一个“沙箱”来限制进程能够做什么。2、可以把作业对象想像成一个进程容器,创建只包含一个进程的作业同样有用,因为这样可以对进程施加平时不能施加的限制。3、IsProcessInJob(HANDLE hProcess,HANDLE hJob, PBOOL pbInJob);判断是否与一个作业相关联,在msdn上

2012-06-07 19:43:48 932

原创 C++反汇编笔记2

1、常量数据地址减去基地址就是它的文件中的偏移地址。2、#define是一个真常量,而const却是由编译器判断实现的常量,是一个假常量。使用const定义的变量,最终还是一个变量,只是在 编译器内进行了检查,发现有修改则报错。3、#define与const的区别:#define编译期间查找替换,由系统判断是否被修改,字符串定义在文件只读数据区,数据常量编译为立即数寻址方式,成为二进制代码

2012-06-05 22:18:51 1659

原创 进程相关

1、当不再使用进程对象与线程对象时,要记得关闭进程或线程的句柄。2、GetCurrentProcessId得到当前进程ID,GetCurrentThreadId得到当前正在运行线程的ID,    GetProcessId获得与指定句柄对应的一个进程ID,GetThreadId获得与指定句柄对应的线程ID,GetProcessIdOfThread获得线程所有进程的ID。3、要保证一个进程

2012-06-05 15:46:43 903

原创 C++反汇编笔记1

1、无符号整数所有位都是用来表示数值,没有符号位;有符号整数最高位为符号位,如何判断一段数据是有符号类型还是无符号类型,取决于要查看的指令或者已知的函数如何操作此内存。2、浮点数类型优点计算效率高,缺点存储不灵活。3、浮点数操作是通过浮点寄存器来实现的,浮点寄存器是通过栈来实现的,由ST(0)~ST(7)组成。4、字符串有两种方法确实结束地址:保存总长度、结束符’\0'。5、指针和

2012-06-05 08:09:28 2104

原创 CreateProcess

一个线程调用CreateProcess时,系统装创建一个进程内核对象,其初始使用计数为1。进程内核对象不是进程本身,而是操作系统用来管理这个进程的一个小型数据结构-----可以把进程内核对象想象成由进程统计信息构成的一个小型数据结构。然后,系统为新进程创建一个虚拟地址空间,并将可执行文件(和所有的DLL)的代码及数据加载到进程的地址空间。然后,系统为新进程的主线程创建一个线程内核对象(

2012-06-04 20:52:04 1633

原创 《Windows核心编程》进程

《Windows程序设计》先放下了,不知道为什么,看不下去了,后面的感觉不是那么重要。开始了《Windows核心编程》。《Windows核心编程》进程可以说是读书笔记吧,怎么样从书中提取到对自己有用的东西,是一门学问,本人正在学习中,写的不好,大家见谅。一般将进程定义为一个正在运行的程序的实例,它由以下两部分构成:1、一个内核对象,操作系统用它来管理进程。内核对象也

2012-06-03 12:20:55 916

原创 进程的一些理解1

《Windows程序设计》先放下了,不知道为什么,看不下去了,后面的感觉不是那么重要。开始了《Windows核心编程》。《Windows核心编程》进程可以说是读书笔记吧,怎么样从书中提取到对自己有用的东西,是一门学问,本人正在学习中,写的不好,大家见谅。一般将进程定义为一个正在运行的程序的实例,它由以下两部分构成:1、一个内核对象,操作系统用它来管理进程。内核对象也

2012-06-03 12:18:56 717

原创 《Windows程序设计》之多文档

#include #include "RESOURCE.H"#define INIT_MENU_POS 0#define HELLO_MENU_POS 2#define RECT_MENU_POS 1#define IDM_FIRSTCHILD 50000//多个回调函数LRESULT CALLBACK FrameWndProc(HWND,UINT,WPARAM,LPARAM)

2012-06-01 08:26:03 1217

原创 《Windows程序设计》之SCRAMBLE

/////////////////////////////////////////////////////////////////////////这应该是写的第一个没有窗口过程的程序///////////////////////////////////////////////////////////////////////int WINAPI WinMain(HINSTANCE hInst

2012-05-31 07:31:32 1275

原创 《Windows程序设计》之BOUNCE

简单动画的实现LRESULT CALLBACK WndProc(HWND hwnd,UINT iMsg,WPARAM wParam,LPARAM lParam){ static HBITMAP hBitmap; static int cxClient,cyClient,xCenter,yCenter,cxTotal,cyTotal, cxRadius,cyRadius,c

2012-05-30 12:31:50 944

原创 《Windows程序设计》之BITMASK

对位图中的掩码图,或图片合成还需要做进一步的了解,继续熟悉了内存中图片处理的相应过程。LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){ static HBITMAP hBitmapImag,hBitmapMask; static HINSTANCE hInstance; s

2012-05-30 09:14:44 877

原创 《Windows程序设计》之菜单中使用位图

这几天没怎么学习,一直在改bug,做一个界面,也学到了很多,先发一篇,再去改界面bug。LRESULT CALLBACK WndProc(HWND hwnd,UINT iMsg,WPARAM wParam,LPARAM lParam){ HMENU hMenu; static int iCurrentFont=IDM_FONT_COUR; switch(iMsg) { case W

2012-05-29 16:05:16 1034

原创 列表框显示进程图标

昨天调各种图标调了半了,改bug改到今天凌晨,总结一下昨天。列表框中能够直接加入图标,但是不可以改变字体颜色、背景颜色等,因此我用了pudn上的一个类CReportCtrlCReportCtrl这个类把列表框给重绘了,功能十分强大。下面说一下如何获取进程图标.hCImageList ProcessImg;//这个定义一定要放到头文件中,定义成全局变量,不然不会显示.cpp

2012-05-27 09:09:39 1654

原创 界面无延迟显示数据后台计算

不知道这个题目怎么去,就先这样吧。今天帮朋友修改以前写的界面的一个bug,发现了一个问题。作为使用者,肯定不希望看到界面卡到那里,但是有些时候界面上需要显示大量数据,计算又会花费很多的时间。如果在所有数据都计算完成后,再来显示界面,一般使用者都不会接受。如何实现界面无延迟显示,数据随后更新?一般的做法都是在界面的初始化过程中,创建一个线程来处理数据,这个就提到了Worker线程与U

2012-05-25 20:26:15 1819

原创 《Windows程序设计》之位图操作

1、在内存中创建位图,并在位图中写入文字 hdc=GetDC(hwnd); //创建内存设备上下文 hdcMem=CreateCompatibleDC(hdc); //计算指定的正文字符串的高度和宽度 GetTextExtentPoint32(hdc,szText,lstrlen(szText),&size); cxBitmap=size.cx; cyBitmap

2012-05-25 08:45:35 1111

原创 我的程序员之路进行中

计划看的书:1、《Windows程序设计》(第5版珍藏版)1104页2、《Windows程序设计(第2版)》.王艳平.扫描版  490页3、《Windows核心编程》(第5版)769页4、《竹林蹊径——深入浅出windows驱动开发》 506页5、《Windows驱动开发技术详解》  530页6、《寒江独钓——Windows内核安全编程》  514页7、《[天书夜读

2012-05-24 21:49:04 946

原创 《Windows程序设计》之BITMAP

BITMAP的结构体如图所示 typedef struct tagBITMAP{  LONG bmType; //位图类型,必须为0  LONG bmWidth; //位图宽度  LONG bmHeight; //位图高度  LONG bmWidthBytes; //每一行像素所在的byte数  WORD bmPlanes; //颜色平面数  WORD bmBitsPixel; //

2012-05-24 15:56:08 1446

VS2010清理助手源码

编译器VS2010,会清理VS2010生成项目的.sdf文件,ipch、Release、Debug三个文件夹及里面所有文件。

2012-08-05

Duilib做的登录窗口

Duilib来实现的登录窗口,VS2010开发平台。 功能不多,只为理解程序与xml。

2012-10-16

BCTF_Writeups

百度杯BCTF线上赛前8名队伍的Writeup,大家可以学习一下,推荐看217写的。

2014-03-14

MD5计算工具

代码中包含:自动请求Admin权限、注册表操作、自删除、剪贴板、鼠标右键添加等

2013-12-24

空空如也

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

TA关注的人

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