自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ghevinn欢迎您光临

只想让自己写的、总结的东西对朋友们有一点点帮助或者启示,就是我最大的欣慰

  • 博客(22)
  • 资源 (25)
  • 问答 (1)
  • 收藏
  • 关注

原创 W​i​n​d​o​w​s​ ​I​O​处​理​流​程​浅​析​(​I​R​P​)

Windows操作系统中(以Windows 2000/XP为例),一个典型的I/O请求要通过一系列复杂的操作实现。         讨论Windows 系统的I/O操作的流程之前,不得不提及Windows的I/O系统结构。简单说来,从虚拟机的角度来说,Windows的I/O系统是一个层层封装的虚拟机。Windows在系统核心中,对设备进行了数层封装:直接构建在设备上的是硬件抽象层(HAL),在

2014-07-28 16:57:59 1948

原创 Windows驱动开发(二)

本节主要介绍驱动开发的一些基础知识。    1. 驱动程序的基本组成        1.1. 最经常见到的数据结构               a. DRIVER_OBJECT驱动对象[cpp] view plaincopy// WDK中对驱动对象的定义  // 每个驱动程序都会有一个唯一的驱动对象与之对应

2014-07-28 16:29:55 1589

原创 Windows驱动开发(一)

笔者学习驱动编程是从两本书入门的。它们分别是《寒江独钓——内核安全编程》和《Windows驱动开发技术详解》。两本书分别从不同的角度介绍了驱动程序的制作方法。    在我理解,驱动程序可分为两类三种:    第一类:传统型驱动        传统型驱动的特点就是所有的IRP都需要自己去处理,自己实现针对不同IRP的派发函数。其可以分为以下两种:     

2014-07-28 14:08:58 1746

原创 c++中&和&&有什么区别

他们不同点在于&&相当一个开关语句,就是说如果&&前面值为false那么他就不继续执行后面的表达式;而&不管前面的值为什么,总是执行其后面的语句。&可以是取地址运算符也可以是引用符,这就看你在什么情旷下用了;而&&是逻辑与的意思如if((a   =   78)&&(b   =   77))它不过是个比较运算符而已。&&是boolean的逻辑运算 eg:       

2014-07-23 15:09:08 15394 1

原创 树形控件CTreeCtrl的使用

树形控件在界面编程中应用十分普遍,如在资源管理器中和树形结构显示书的目录等,我们一步步研究树形控件的使用。在对话框界面上首先拖动创建一个树,一般我们改变三个属性:Has Buttons显示带有”+”或”-“的小方框,表示某项能否被展开或已展开,默认为选中,我们改为选中。Has Lines在父项与子项之间连线以清楚地显示结构,默认为选中,改为选中。Lines at root:在根部划

2014-07-22 13:30:35 1927

原创 MFC获得主窗口和父窗口指针

MFC编程中常常遇到子窗口向父窗口传递参数的情况,这就需要获得父窗口的指针。        例:主对话框CMyMainDlg通过按钮ButtonA进入对话框CMyParentDlg,CMyParentDlg在通过按钮ButtonB进入对话框CMyChildDlg。现在需要在CMyChildDlg分别访问CMyParentDlg和CMyMainDlg的内容,需要在CMyChildDlg中加入

2014-07-16 14:12:47 10893

原创 句柄和指针的区别和联系

所谓 句柄实际上是一个数据,是一个Long (整长型)的数据。句 柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄。 从上面的定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不一样

2014-07-16 14:02:15 3922

原创 MFC获取各个窗口(体)之间的指针(对象)

MFC在很多的对话框操作中,我们经常要用到在一个对话框中调用另一个对话框的函数或变量.可以用如下方法来解决.   HWND hWnd=::FindWindow(NULL,_T("Sphere"));      //得到对话框的句柄   C***Dialog* pWnd= (C***Dialog*)C***Dialog::FromHandle(hWnd); //由句柄得到对话框的对象指针

2014-07-16 13:39:17 1632

原创 线程安全和线程不安全理解

线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据=========================================================

2014-07-14 16:46:30 72572 11

原创 c++中指针的内存申请和内存释放问题

C++中指针在new和delete操作的时候对内存堆都做了些什么呢,以下解:1、指针的new操作:指针在new之后,会在内存堆中分配一个空间,而指针中存放的是这个空间的地址。如:void main(){ int *p = new int(4); cout  cout }输出为:0x00431BF04分别为分配的空间地址和地址内存放的值。

2014-07-11 10:13:29 19404

原创 12个有趣的c面试题目

1.gets()函数问:请找出下面代码里的问题:#include int main(void) {     char buff[10];     memset(buff,0,sizeof(buff));      gets(buff);      printf("\n The buffer entered is [%s]\n",buff); 

2014-07-10 10:38:48 1735

原创 VC中常见的108个问题

(1) 如何通过代码获得应用程序主窗口的 指针?主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED)//使程序最大化.(2) 确定应用程序的路径Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。

2014-07-10 10:32:16 2659 2

原创 DECLARE_MESSAGE_MAP用法

DECLARE_MESSAGE_MAP( ) 说明: 你的程序中的每一个CCmdTarget的派生类都可以提供一个消息映射以处理消息。在你的类声明的末尾使用DECLARE_MESSAGE_MAP宏。然后,在实现了类成员函数的.CPP文件中加入BEGIN_MESSAGE_MAP宏,再加入每个消息处理函数的宏入口,最后使用END_MESSAGE_MAP宏。 注意: 如果你在DE

2014-07-07 13:35:50 33935

原创 MFC之ComboBox控件

添加内容ComboBox_AddString(hwndCtl,lpsz)hwndCtl为此组合框的句柄,lpsz为需要添加的字符串,组合框不能直接通过id添加内容,所以需要得到这个控件的句柄,还得使用GetDlgItem()函数.举例:HWND hwndCombo1 = GetDlgItem(hwnd,IDC_C1);//建立一个组合框,ID可以设置为IDC

2014-07-04 11:07:28 6750

原创 fatal error C1010: 在查找预编译头时遇到意外的文件结尾

错误描述:fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”?错误分析:    此错误发生的原因是编译器在寻找预编译指示头文件(默认#include "stdafx.h")时,文件未预期结束。没有找到预编译指示信息的头文件"stdafx.h"。    (因为工程中的每个cpp文件属性默

2014-07-03 10:34:59 109768 6

原创 Invalidate、RedrawWindow与UpdateWindow的区别

一:什么时候才会发生重绘窗口的消息?      当需要更新或重新绘制窗口的外观时,应用程序就会发送WM_PAINT消息。对窗口进行重新绘制。二:Invalidate() -- RedrawWindow() -- UpdateWindow()三个函数有什么异同?      Invalidate()是强制系统进行重画,但是不一定就马上进行重画。因为Invalidate()只是通

2014-07-02 13:25:51 5595

原创 WindowProc和DefWindowProc的区别

1.WindowProc是你给自己的窗口定义的窗口处理函数DefWindowProc是windows平台提供的默认窗口处理函数如果某些消息你不需要做特别的处理,调用DefWindowProc进行处理就可以了,不需要你自己再去些那些windows的"标准动作"2.根据1,显然,你只能定义WindowProc而不能定义DefWindowProc看看MFC的CWnd源码就

2014-07-02 13:06:28 2097

原创 c++双缓冲技术绘图避免闪烁

当数据量很大时,绘图可能需要几秒钟甚至更长的时间,而且有时还会出现闪烁现象,为了解决这些问题,可采用双缓冲技术来绘图。双缓冲即在内存中创建一个与屏幕绘图区域一致的对象,先将图形绘制到内存中的这个对象上,再一次性将这个对象上的图形拷贝到屏幕上,这样能大大加快绘图的速度。双缓冲实现过程如下:1、在内存中创建与画布一致的缓冲区2、在缓冲区画图3、将缓冲区位图拷贝到当前画布

2014-07-02 10:55:12 8044

原创 SelectObject()函数

SelectObject 把一个对象(位图、画笔、画刷等)选入指定的设备描述表。新的对象代替同一类型的老对象。HGDIOBJ SelectObject(  HDC hdc,         // handle to DC  HGDIOBJ hgdiobj  // handle to object);

2014-07-02 10:45:24 25154 1

原创 滚动条范围位置函数(SetScrollRange、SetScrollPos、GetScrollRange、GetScrollPos)

滚动条的范围是一对整数,默认情况下,滚动条的范围是0~100。SetScrollRange(hwnd,iBar,iMin,iMax,bRedraw)这里的iBar参数要么是SB_VERT,要么是SB_HORZ,iMin和iMax分别对应滚动条范围的最小值和最大值,需要Windows根据新的范围来重绘滚动条时将bRedraw设为TRUE.SetScrollPos(hwnd,iBar,

2014-07-02 10:22:33 15884

原创 IsKindOf()函数

主要检查一下对象否从某一类类派生,但此类必须从CObject派生(或间接),并且使用DECLARE_DYNAMIC/DECLARE_SEARIAL等宏比如我们函数的参数是个基类的指针类型。那么当我外部传过来一个子类的指针时,在函数内部就可以用这种语句来确认传进来的是这个子类的对象,而不是其它子类的对象ASSERT(xxx->IsKinfOf(RUNTIME_

2014-07-02 10:15:49 3131 1

原创 设置WS_EX_CLIENTEDGE窗口风格

关于该风格要注意几点的是:WS_EX_CLIENTEDGE窗口风格并不是对所有窗口都有效,只有窗口有客户区的时候才有效,这样当它用在比如button,combox,tab无客户区的控件时,它是无效的。通过对话框模版创建的控件ListCtrl,如果你指定了WS_BORDER,这时WS_BORDER将被拿掉,而WS_EX_CLIENTEDGE会被设置上。但是如果你通过create手动创建则不会

2014-07-02 08:58:22 1724 1

HID-USB设备接口开发协议

HID-USB设备接口开发协议,这个文档对于初学者有很大的帮助,讲解的很详细也很丰富,在这里分享给大家,希望大家共同学习共同进步。

2015-08-27

CString::Format函数详细介绍

CString::Format函数详细介绍,这个文档详细介绍了CString类中对格式转换的基本介绍,尤其是在MFC中转换字符类型很有用处。

2015-07-07

XAML基础教程(适合初学者)

XAML基础教程(适合初学者),工作之需要,网上找的开发文档相关学习资料,学习后,感觉很不错的学习文档,在这里分享给大家

2015-06-29

c++通过windows的com组件ADO连接数据库测试

c++通过windows的com组件ADO连接数据库测试

2015-04-08

ankhsvn2.4

就是vs2010中直接关联svn版本管理。找了半天时间,才找到最新版本

2013-07-09

svn帮助文档

这里面包含svn常用的操作, 帮助文档。对初学svn和深入利用svn都有一定帮助。

2013-04-01

c++标准模板库

其中包含c++标准模板库全部内容,即STL。 还包含c++string 还有 c++IO 还有标准的c库函数

2013-04-01

autoit3学习资料

这是自学autoit3很好的资料,简单明白。实用。

2013-03-25

c++设计模式

这是一个还有源码的c++设计模式,学习的好工具,提高的好帮手。

2013-03-08

Framework 4.0基本类库介绍

这是介绍Framework 4.0基本类库。 下载到桌面随时看看, 复习,探索都不错。

2013-01-25

初学php必看资料

这里面有两个学习php的文档,一看保证会,保证懂,的文档,其实php很简单,关键是看看你有没有看过正确的文档。这里就有,希望对朋友们都有用。谢谢

2012-10-31

系统性能计数

系统性能计数器,可以动态了解系统的各个性能,比如cpu使用率等等一些信息,更好了解性能。

2012-09-26

数据库学习

关于数据库的优化学习,好资料,数据库中的常用方法和运算的优化文档

2012-09-03

txt reader tool

这是一个txt阅读器,可以方便阅读txt文件,同时具备界面友好,模拟书本效果,和查找各种效果

2012-08-30

破解版vs红苹果插件

破解版vs红苹果插件,不用重新卸载和安装,可以长时间使用的语言提示小插件

2012-08-28

vs2010中的红苹果提示小插件

vs2010中的红苹果提示小插件,可以提示你方便更容易编写程序,但是不建议初学者使用,养成好的编程习惯还是很有必要

2012-08-20

使用cmarkup来解析xml文件的时候,需要使用的两个文件代码

这是一个cpp和h文件,直接添加在程序的资源管理窗口中,就可以在程序中使用cmarkup定义对象,来解析xml文件

2012-08-06

change the infomation of the file

比如有两个txt文件,要根据其中一个txt中的信息内容,去更改另一个txt文件中 的指定内容,也就是对字符串的操作。

2012-08-06

guess random number

this is a simple test.you can know how to interactive,and how to generate a random number.

2012-08-06

电脑模拟收银系统.doc

电脑模拟收银系统,本系统特别适合在中小超市或门店使用,在满足日常使用需求的前提下,突出了操作简单的特点,无需专业的电脑知识,只要会打字的人就可以胜任操作,不像其它一些软件,功能很多但又用不上,显得操作很复杂,为用户提供简单实用的软件是我们的长期以来的服务宗旨。

2011-06-10

网络编程课件 作业 学习

网络编程网络编程网络编程网络编程网络编程网络编程网络编程网络编程网络编程网络编程

2011-05-06

软件工程 作业后勤管理子系统设计

万里通企业集团网络信息管理系统的后勤子系统通过对后勤工作中的各项作业数据进行的管理、统计分析,以达到合理分配和利用后勤资源;提高后勤管理水平;提高劳动生产力的目的。

2011-05-06

Java蓝牙无线技术应用程序开发

Java蓝牙无线技术应用程序开发,pdf课件。简单明了学习java蓝牙技术

2011-05-06

超市收银系统类图和用例图

超市收银系统类图和用例图 软件工程作业 在软件实现前的用例实现

2011-05-06

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

TA关注的人

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