自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lyntion的Blog

Windows|linux|C++|PHP|WinDbg|OD|html+javascript|C/S|B/S

  • 博客(48)
  • 收藏
  • 关注

转载 MFC窗口创建、销毁消息流程

Windows消息处理机制MFC应用程序中处理消息的顺序1. AfxWndProc()该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc2.AfxCallWndProc()该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数3.WindowProc

2014-11-29 14:39:23 1276

转载 EnumThreadWindows枚举线程的所有窗口

BOOL CALLBACK EnumThreadWndProc(HWND hwnd, LPARAM lParam ){ std::listHWND>* plist = (std::listHWND>*)lParam; plist->push_back(hwnd); return true;}int main(void){ CWnd* pWnd = CW

2014-11-29 14:32:51 5389

转载 Windows 7桌面显示图标窗口类名称

Windows 7下,我们取桌面图标窗口的句柄使用以下语句 在windows XP时代,我们获取桌面图标窗口的句柄往往用一下语句:HWND hwndParent = ::FindWindow( "Progman", "Program Manager" );HWND hwndSHELLDLL_DefView = ::FindWindowEx( hwndParent, NULL, "SHELLDLL_

2014-11-29 14:01:34 2885

转载 vc++MCF/C++/C中怎样让应用程序获得或以管理员权限运行 ,ShellExecuteEX编程 --- 获取管理员权限

ShellExecuteEX编程 --- 获取管理员权限:http://blog.csdn.net/jhui163/article/details/5873027怎样让你的应用程序获得管理员权限:就是在运行开发工具如vc6.0 或vs2010时,要以管理员身份运行,这样你的应用程序才可以继承http://bbs.csdn.net/topics/390262991 解

2014-11-29 13:56:45 1680

转载 静态库编译和连接遇到的奇怪问题

在编译静态库(lib)时,遇到过的三种问题:1,  如果没有正确包含lib文件的路径,会提示无法打开静态库。2,  error LNK 2001: 有可能是路径问题,或者是头文件与lib库不对应,或者是lib文件有问题。3,  error LNK 2005: 这个错误是微软设计错误,因此如果遇到这个错误,我们只能躲过这个链接错误。具体的办法就是将那个提示出错的库放到另外一个库的前面。另

2014-11-01 17:18:06 1662

转载 windows客户端崩溃分析和调试

本文介绍windows上崩溃分析的一些手段,顺便提多进程调试、死锁等。1.崩溃分析过程1.1 确认错误码无论是用windbg还是用vs,首先应该注意的是错误码,而90%以上的崩溃都是非法访问。在非法访问时,可以看一下访问的目标地址。地址是0,或者离0很近(0x00000008或0xfffffffc),一般和空指针相关。如果是一个貌似正常的地址,一般是对象已析构后访问其数据,

2014-10-18 20:15:24 1319

转载 windows客户端开发调试工具

1.windows常用开发与调试工具1.1 Sysinternals内核大神打造,含大量windows系统工具,windows开发必备神器,大神被MS招安。下载地址:http://technet.microsoft.com/en-us/sysinternalsProcmon.exe监视程序运行过程中的动作,可用于性能监控。procexp.exe相当于升级

2014-10-18 20:09:57 1122

转载 nafxcw.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined问题解决

如果开始用了一个ATL的Dll工程,然后为了在这个dll工程里面使用MFC,在里面加入MFC支持在stdafx.h的atlbase.h前面加入#include // MFC core and standard components#include // MFC extensions#include // MFC Automation extensions那么就会出现错

2014-10-02 15:52:27 1760

转载 error C3859: 超过了PCH的虚拟内存范围;请使用“-Zm33”或更大的命令行选项重新编译

产生的原因:为了加快boost的编译,使用的预编译头。而且加的boost的头文件比较多,导致pch文件超过了默认值。解决的办法:1. 找到 工程->属性->c/c++->命令行->其他选项2. 输入/Zm100,其中后面的数字可以更大定义:/Zm(指定预编译头的内存分配限额):确定编译器分配的用于构造预编译头的内存量。格式:/Zmfactor。factor:一个比例因子

2014-10-02 15:49:41 2107

转载 vc中异常捕捉的最后一道屏障-SetUnhandledExceptionFilter

在C++中定义了很多异常捕捉机制,但是在VC中在win平台上有一个更高层的异常处理机制,函数SetUnhandledExceptionFilter,这个函数很有用,它是异常捕捉的最后一道屏障。它有这样的规则,对于未捕捉的异常并且未在调试状态下(通常就是只在release中),将自动调用这里面的异常处理函数。默认的异常处理函数就是弹出一个对话框,告诉你程序异常了,而在发布软件时,你可以用其他

2014-10-02 15:49:11 1257

转载 检验和算法

It works!1、CRC(循环冗余码)  校验和的算法为:      所有各字节的和模256的余。即各字节二进制算术和,不计超过256的溢出值(即只取其和  的低8位数据),然后用0x100减去这个算数累加和,得出得值就是此行得校验和。  例如:(16进制数)  10 00 10 00 18 F0 9F E5 80 5F 20 B9 F0 FF 1F E5 18 F0 9F E

2014-10-02 15:44:49 4585

转载 sleep(0)的作用

微软的msdn: A value of zero causes the thread to relinquish the remainder of its time slice to any other thread of equal priority that is ready to run. If no other threads of equal priority are ready t

2014-10-02 15:43:19 1301

转载 Windows自启动程序的十大藏身之所

一、当前用户专有的启动文件夹  这是许多应用软件自动启动的常用位置,Windows自动启动放入该文件夹的 所有快捷方式。用户启动文件夹一般在:\Documents and Settings\\「开始」菜单\程序\启动,其中“”是当前登录的用户帐户名称。  二、对所有用户有效的启动文件夹  这是寻找自动启动程序的第二个重要位置,不管用户用什

2014-10-02 15:42:34 921

转载 U盘防毒最强方案(创建删不掉的autorun.inf文件夹)

病毒,每个人都深受其害,痛恨不已,特别是现在移动设备MP3、MP4、手机、U盘、移动硬盘飞速发展的时代,病毒也随着这些移动设备和网络快速蔓延和滋生,所以如何防止病毒入侵到自己的爱机和移动设备上就太重要了。        在网络上曾经有人提出在硬盘根目录和移动设备根目录下建立一个文件夹,名字就叫autorun.inf,用来防止利用借助autorun.inf文件进行传播的病毒。       

2014-10-02 15:33:57 47026

转载 VC包含目录、附加依赖项、库目录及具体设置

包含目录:#include 中headerfile.h的搜索目录。如果有XXX.h找不到,设置这个目录可以解决。附加依赖项:C++的库会把函数、类的声明放在*.h中,实现放在*.cpp或*.cc中。编译之后,*.cpp,*.cc,*.c会被打包成一个.lib文件,这样可以保护源代码。所以,要使用一个库,除了要include他的头文件以外,还要在链接过程中把lib加进去。这个就是在附

2014-10-02 15:32:09 1050

转载 VC 运行时库 /MD、/MDd 和 /MT、/MTd

有段时间在写cuda程序是出现过error LNK2005: _exit 已经在 MSVCRTD.lib(MSVCR71D.dll) 中定义 等类似错误原因应该是在vs2010 工程属性中 c/c++的代码生成(code generation)中的设置与cuda c/c++ Host Runtime library不一样导致的。后来在写opencv程序中的 findcont

2014-10-02 15:30:44 1166

转载 按类别列出的编译器选项Visual Studio 2010

按类别列出的编译器选项Visual Studio 2010  其他版本 Visual Studio 2008 Visual Studio 2005下面是一个完整的编译器选项分类列表。有关按字母顺序排序的列表,请参见按字母顺序列出的编译器选项。优化选项用途/O1创建小代码/O2创建快速

2014-10-02 15:29:06 2628

转载 VC2008中影响exe大小和速度的全部编译选项

用VC就得用IDE,我也以IDE的工程设置里面的排列顺序介绍,某些选项需要自己手动添加的最后介绍,我后面说的默认值是release的,debug版本一般不需要调选项。 项目 - 属性 - 配置属性 - C/C++,这是编译器选项。 优化:     通常,算法程序选择最大化速度(/O2),界面程序选择最小化大小(/O1),可以获得最佳的效果。     优选大小或速度,只有在使

2014-10-02 15:26:37 1127

转载 Vector用法

(1)vector 标识符 ;(2)vector 标识符(最大容量) ;(3)vector 标识符(最大容量,初始所有值);(4) int i[4] = {12,3,4,5};vector 类型 > vi(i , i+2); //得到i索引值为3以后的值 ;  (5)vector > //vi 定义2维的容器;记得一定要有空格,不然会报错vector int

2014-10-02 15:23:21 815

转载 用boost的PropertyTree json_parser 生成json字符串

// test.cpp#include #include #include #include #include using namespace std;using namespace boost::property_tree; int main(){ ptree pt_1,pt_11,pt_12; pt_11.put("id","3445");

2014-10-02 15:17:55 2885

转载 vector,list,deque,set,map of STL

List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]。Vector对于随机访问的速度很快,但是对于插入尤其是在头部插入元素速度很慢,在尾部插入速度很快。List对于随机访问速度慢得多,因为可能 要遍历整个链表才能做到,但是对于插入就快的多了,不需要拷贝和移动数据,只需

2014-10-02 15:10:35 736

转载 【Boost】boost::function介绍

1. 介绍    Boost.Function库包含了一个类族的函数对象的包装。它的概念很像广义上的回调函数。其有着和函数指针相同的特性但是又包含了一个调用的接口。一个函数指针能够在能以地方被调用或者作为一个回调函数。boost.function能够代替函数指针并提供更大的灵活性。2. 使用    Boost.Function有两种形式:boost::functionf    使用

2014-10-02 15:00:41 755

转载 无DLL注入(函数直接注入)

在第三中方法中,我们启动远程线程时,线程函数是我们从Kernel32.dll中取得的LoadLibrary函数的地址为线程函数的地址,其实我们可以直接将线程函数体和函数参数写入目标进程的地址空间,然后创建远程线程。    使用这个方法时,需要注意以下几个问题:    (1) 远程线程函数体不得使用kernel32.dll,user32.dll以外的函数。因为这个两个模块在各

2014-10-02 14:33:04 2046

转载 注册表注入

在Windows NT/2000/XP/2003中,有一个注册表键值:HKEY_LOCAL_MACHINE/Software/Microsoft/WindowsHKEY_LOCAL_MACHINE/Software/Microsoft/WindowsNT/CurrentVersion/Windows/AppInit_DLLs。当某个进程加载User32.dll时,这里面列出的所有的DLL都将U

2014-10-02 14:32:06 1921

转载 CreateProcess注入方法

采用CreateProcess的方法,实现起来比较复杂,但没有上面几种方法的局限性。且可以用其他工具(VC等)调试注入的DLL。下面进行介绍.原理如下:1.  用CreateProcess(CREATE_SUSPENDED)启动目标进程。2.  找到目标进程的入口,用ImageHlp中的函数可以实现。3.  将目标进程入口的代码保存起来。4.  在目标进程的入口写入LoadLi

2014-10-02 14:31:55 4825 1

转载 线程的远程注入

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/vcforever/archive/2005/03/15/320144.aspx 在上一篇文章《线程的远程注入》中介绍了如何让其他的进程中执行自己的代码的一种方法及自己定义一个线程,在线程体中编写执行代码,然后使用VirtualAllocEx函数为线程体以及线程中用到的字符常量和调用的Messa

2014-10-02 14:29:39 1006

转载 远程进程注入

这几天一直在研究远程进程注入的问题,下面也是我个人学习心得写出来供大家参考指证,同时也有问题要请教大家.    终于写会了远程DLL的注入,远程DLL的注入其实是通过调用LoadLibrary函数来在远程进程中开启一个线程,因为LoadLibrary函数是在kernel32.dll里面,windows中每个进程在启动后都加裁了Kernel32.dll所以实现远程DLL注入很简单,它其实是调用的

2014-10-02 14:29:12 1230

转载 SERVICE_STATUS结构各成员解析

在编写Windows服务的时候,需要调用API函数::SetServiceStatus()向服务控制管理器(SCM)提交更新当前服务的状态信息,其第2个参数为指向SERVICE_STATUS结构的指针,SERVICE_STATUS结构中包含了表示当前服务状态的信息,对其各成员一一分析:typedef struct _SERVICE_STATUS {  DWORD dwService

2014-09-22 01:50:33 4451

转载 C++遍历目录

#include #include #include #include  void Traversal(const TCHAR *lpszPath, BOOL bRecursive){WIN32_FIND_DATA ffd;LARGE_INTEGER filesize;HANDLE hFind = INVALID_HANDLE_VALUE;TCH

2014-09-06 13:46:01 799

转载 回调函数

什么是回调函数?简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。为什么要使用回调函数?因为可以把调用者与被调用者分开。调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为int)的被调用函数。如果想知道回调函数

2013-06-14 19:28:11 903

转载 MAC地址知识

1.mac地址一共六个字节,每个字节是由0-F组成的,超出F的都为无效MAC地址,前三个字节代表厂商,也就是可以通过前三个字节来判断是哪个厂家生产的,后三个字节为系列号。2.全F的MAC地址为广播地址,全0的地址是无效的地址(如果你的MAC地址出现了全0那么就是网卡除了问题或者识别不正确)3.第一个字节是奇数的是组播地址,这类地址我们也不能用 。X1:XX:XX:XX:XX

2013-06-11 18:08:55 3541

转载 五险一金,你知道多少

具体的社保构成比例为:    养老保险:单位每个月为你缴纳21%,你自己缴纳8%;  医疗保险:单位每个月为你缴纳9%,你自己缴纳2%外加10块钱的大病统筹大病统筹主要管住院这块);  失业保险:单位每个月为你缴纳2%,你自己缴纳1%;  工伤保险:单位每个月为你缴纳0.5%,你自己一分钱也不要缴;  生育保险:单位每个月为你缴纳0.8%,你自己一分钱也不要缴;  住房公积

2012-07-15 16:10:34 6848

转载 c语言extern的用法

大工程下我们会碰到很多源文件。文件a.cstatic int i; //只在a文件中用int j;   //在工程里用static void init()         //只在a文件中用{}void callme()          //在工程中用{   static int sum;}上面的全局i变量和init

2012-06-02 13:26:10 958

转载 父窗口和拥有者窗口

一、概念和区别    在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口。这个数据结构中有四个数据用来构建list,即child、sibling、parent、owner四个域。    所以我们可以看到,窗口之间的关系有两种:owner-owned 关系和 parent-child关系。前者称之为

2011-12-27 14:11:56 972

转载 VC基本函数一览

CSize:说明一个矩形的高和宽,调用CDC::GetTextExtent成员函数计算使用当前字体的一行文字的高和宽决定的尺寸。CString::LoadString:把一个由nID标识的字符串资源读取到现有的CString对象中。CDC::BeginPath:打开设备上下文中的路径,路径打开后,应用程序可以开始调用GDI画图函数定义位于路径上的点。CDC::SelectC

2011-12-12 18:48:53 1561

转载 数据结构简单要点总结

第三章 栈、队列和数组 一、栈栈是只能在一端进行插入和删除的线性表。(别看只是个定义,非常重要,已经道出了运算方法:只能在一端插入和删除。) 栈的特征:后进先出,先进后出。 插入和删除元素的一端称为栈顶。(说明了我们在栈顶操作)另一端称为栈底。插入元素和删除元素的操作称为入栈和出栈。1.顺序栈结构:(top总

2011-12-09 20:10:43 1694

转载 成为游戏开发程序员,要学些什么

一、游戏程序开发的工作主要包括哪些方面 游戏开发中的程序开发主要由如下几个方面组成: 1.图形引擎 2.声音引擎 3.物理引擎 4.游戏引擎 5.人工智能或游戏逻辑 6.游戏GUI界面(菜单) 7.游戏开发工具 8.支持局域网对战的网络引擎开发 9.支持互联网对战的网络引擎开发 下面逐一介绍每个部分: 1.图形引擎主要包含游戏中的场景(室内或

2011-12-09 19:14:26 19369

转载 Visaul C++ 6.0使用简介

文档名称:Visaul C++ 6.0使用简介文档作者:沈捷创建日期:2004.03.20当前版本:1.0.0.1修改记录:N/A内容提要:1.基本概念||__1.1项目的概念||__1.2工作区的概念2.VC界面介绍||__2.1常用菜单项|   ||   |__2.1.1文件菜单|   ||   |__2.1.2编译菜单|

2011-12-09 17:27:14 1155

转载 return 一个临时对象

如果函数返回值是一个对象,要考虑return 语句的效率。例如return String(s1 + s2);这是临时对象的语法,表示“创建一个临时对象并返回它”。不要以为它与“先创建一个局部对象temp 并返回它的结果”是等价的,如String temp(s1 + s2);return temp;实质不然,上述代码将发生三件事。首先,temp 对象被创建,同时完成初始化;然

2011-12-08 11:25:43 2697

原创 【大三操作系统实验】 作业进程调度算法

(1)FCFS算法 将用火作业和就绪进程按提交顺序或变为就绪状态的先后排成队列,并按照先来先服务的方式进行调度处理,是一种最普遍和简单的方法。(2)轮转法 让每个进程中就绪队列中的等待时间与享受服务时间成比例。轮转法定基本概念是将CPU的处理时间分成固定大小的时间片。如果一个进程中被调度选中后用完系统规定的时间片,但未完成要求的任务,则它自行释放自己所占有的CPU而排到就绪队列的末尾,等待下一

2010-12-30 13:34:00 6654 1

空空如也

空空如也

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

TA关注的人

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