VC 编程
stone5555
这个作者很懒,什么都没留下…
展开
-
用 MFC 如何高效地绘图
显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为 MFC 的绘图函数效率很低,总是想寻求其它的解决方案。MFC 的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用 MFC 可以得到效率很高的绘图程序。我想就我长期(呵呵当然也只有2年多)使用 MFC 绘图的经验谈谈我的一些观点。1、显示的图形为什么会闪烁?...原创 2018-08-28 12:32:31 · 1192 阅读 · 0 评论 -
CScrollBar的困惑及解决
使用一个CScrollBar后,在增加scrollrange为一个较大的范围之后拖了一段自动返回起始端,百思不得其解。msdn上有讲产生这个问题的原因以及解决方案,感谢csdn和msdn以下引用自msdn2002:RemarksThe GetScrollInfo function enables applications to use 32-bit scroll position...原创 2018-08-23 00:14:24 · 350 阅读 · 0 评论 -
VC++更改标题
一、单文档接口 (SDI) 类型窗口标题的改变首先,我们来看Windows SDI类型窗口标题栏的结构形式。结合具体例子说明:用 VC 的 AppWizard 创建一个名为“SDITitle”的单文档类型的工程,创建完工程后,编译运行该工程,程序主窗口标题形式如下:文档标题 主窗口标题1、文档标题的改变文档标题在是由工程中相应的文档类所控制的,因此我们可以利用SetTitle()函...转载 2018-08-23 00:15:11 · 1138 阅读 · 1 评论 -
改变换行模式
如果你使用的是一个源于CRichEditView的类,那么你已经支持了三种不同的换行模式。WrapNone 指明没有自动换行WrapToWindow 指明换行基于窗口宽度WrapToTargetDevice 指明换行基于目标设备的特性 改变换行模式我们可以将上述三种模式赋予m_nWordWrap变量,再调用Wra...转载 2018-08-23 00:19:28 · 253 阅读 · 0 评论 -
利用windows内核驱动创建虚拟磁盘设备
最近看了一下一个叫做filedisk的开源程序的代码 了解了关于磁盘设备驱动的一些东西总结一下filedisk的功能就是可以把磁盘上的某个文件映射成一个磁盘驱动器像一般的磁盘卷一样来使用关于filedisk的原理简单来说就是利用驱动程序创建一个磁盘设备(IoCreateDevice)然后在用户态程序中用DefineDosDevice将这个设备挂载到某个盘符下面也就是把所有到...转载 2018-08-26 12:22:49 · 2561 阅读 · 0 评论 -
在CScrollView中使用滚动条
近日需要在MFC中的MDI中使用带滚动条的视图。找了许久发现其实很简单1、用基类 CScrollView 生成新视图:CNewView2、修改MFC自动生的 CNewView::OnInitialUpdate()原内容为:void CNewView::OnInitialUpdate(){ CScrollView::OnInitialUpdate(); ...原创 2018-08-28 12:34:05 · 782 阅读 · 0 评论 -
TIFF中关于TFW 文件的问题
转自:http://hgxida.blogcn.com/index.shtml 现在开始做 地理坐标与地图上进行显示的工作。可自己什么都不会,看来得好好研究,一步步做起。首先是TIFF文件所带的TFW文件。这个TFW文件其实是一个WORD文本文件。将它和TIFF文件关联在一起,来代替内嵌地理参考信息的TIFF文件。此WORD 文件内容如如下形式:1.000000.000...转载 2018-08-26 12:24:11 · 4750 阅读 · 1 评论 -
制作VC表格控件
来源于 完全教程网 原文链接:http://www.pcstu.com/program/C__/sl/20070213/26791.html 我们在利用Visual C++开发基于数据库的软件时,经常要使用大量的表格,而Visual C++中并没有提供相应的表格控件,因此需要我们程序员自己制作,本文将介绍一个简单的表格控件的制作全过程。其实,一张表格是由一系列的单元格排列在一个窗...转载 2018-08-26 12:23:12 · 1585 阅读 · 0 评论 -
用vc++怎么制作表格
CComboBox m_ChangeCombo;CEdit m_Change;CSring m_sChange;CMSFlexGrid m_FlexGrid;void CChartInfoEditDlg::OnClickMsflexgrid(){ long lRow = m_FlexGrid.GetRowSel; long lCol =...原创 2018-08-26 12:22:59 · 1759 阅读 · 1 评论 -
How to disable a device
Look up SetupDiChangeState function in MSDN, pay attention to DICS_DISABLE flag.Disables the device. If the device is disableable but this function cannot disable the device dynamically, this functi...原创 2018-08-26 12:22:36 · 353 阅读 · 0 评论 -
用VC访问Sybase数据库
选择自 luckyegg 的 Blog 前段我在做一个项目时,要用到通过Sybase客户端连接网络Sybase数据库的问题。在此之前,我做过好多access、SQL server数据库的项目,都是用ADO技术来实现的。不过这一次,领导需求用Sybase数据库提供的ct-library接口,所以一下子以前所知道的数据库访问技术都没有了用武之地,我当时在csdn上发过贴子,问过这个问题...转载 2018-08-26 12:22:25 · 337 阅读 · 0 评论 -
把exe里面的资源通通取出来
一、前言 不知大家用过exescope没有,那是日本鬼子写的一个很有用的东西,它能把exe等pe格式(portable executable)文件的资源(图标、位图、对话框、声音等等)分析出来,并能改写回去。当然vc的ide也有类似功能。大家是不是觉得很神秘?其实只要弄清了pe文件的结构,你也可以写一个类似的工具出来。下面是我近 来对pe文件的分析经验,给大家作参考。同时希望看到有中国人能写出...转载 2018-08-23 00:11:23 · 3497 阅读 · 0 评论 -
使用点,刷子,笔进行绘图
在Windows中画点的方法很简单,只需要调用COLORREF CDC::SetPixel( int x, int y, COLORREF crColor )就可以在指定点画上指定颜色,同时返回原来的颜色。COLORREF CDC::GetPixel( int x, int y)可以得到指定点的颜色。在Windows中应该少使用画点的函数,因为这样做的执行效率比较低。 刷子...转载 2018-08-23 00:10:16 · 613 阅读 · 0 评论 -
用户层下拦截系统api的原理与实现
http://www.leftworld.net/wenzhang/show/2251.html写这篇文章是为了复习一些知识,最近在做毕业设计,之中大量地使用了这种技术,主要是用在拦截 winsock 函数,对于其他系统 api,其效果也是一样的。 前段时间写了一个 HookSend 的小程序,其实就是用的这里所说的方法.只不过这里讲得更详细一点,熟悉的就不用看了,另外欢迎大虾指出错误,不...转载 2018-08-28 12:35:27 · 791 阅读 · 0 评论 -
SetWinEventHook和SetWindowsHookEx的异同
SetWinEventHook 和 SetWindowsHookEx 都可以指定钩子函数(hook function)来截取别的进程中的消息,但是他们之间有一些不同。SetWindowsHookEx 有两种钩子函数,一种是全局钩子(global hook),另一种是线程钩子(thread hook)。全局钩子能够截取所有线程的消息,但是全局钩子函数必须存在于一个 dll 中。线程钩子只能截取属...转载 2018-08-22 23:43:21 · 1526 阅读 · 0 评论 -
Windows 注册表实用设置
《开始菜单及相关设置》[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]"NoRecentDocsMenu"=dword:00000001(隐藏开始->文档菜单)"NoRecentDocsHistory"=dword:00000001(禁止将打开的文档存入历史记录)"Clear...转载 2018-08-22 23:56:16 · 1626 阅读 · 0 评论 -
用拷贝钩子实现对文件夹的监控
ICopyHook是一个用于创建拷贝钩子处理程序COM接口,它决定一个文件夹或者打印机对象是否可以被移动,拷贝,重命名或删除。Shell在执行这些操作之前,会调用ICopyHook接口的CopyCallback方法对它们进行验证。CopyCallback返回一个int值指示Shell是否应该继续执行这个操作。返回值IDYES表示继续,而返回值IDNO和IDCANCEL则表示终止。一个文件夹对象...转载 2018-08-28 12:36:10 · 1005 阅读 · 0 评论 -
消息钩子函数入门篇
Windows 系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是 Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子可以监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。这样,我们就可以在系统中安装自定义的钩子,监视系统中特定事件的发生,完成特定的功能,比如截获...转载 2018-08-23 00:02:04 · 1133 阅读 · 0 评论 -
驱动和应用层的三种通信方式
驱动程序和客户应用程序经常需要进行数据交换,但我们知道驱动程序和客户应用程序可能不在同一个地址空间,因此操作系统必须解决两者之间的数据交换。驱动层和应用层通信,主要是靠DeviceIoControl函数,下面是该函数的原型:BOOL DeviceIoControl ( HANDLE hDevice, // 设备句柄 DWORD dwIoControlCode, // IOCTL请求操作代码...转载 2018-08-23 00:03:30 · 4390 阅读 · 0 评论 -
驱动与应用层异步通信
同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。其实在明白了三种通信方式后,很容易使用异步方式来通信。在调用DeviceIoControl时,不指定FILE_FLAG_OVERLAPPED标志,表示以同步方式调用,调用线程将被阻塞直到控制操作完成.当...转载 2018-08-23 00:04:41 · 472 阅读 · 0 评论 -
文件系统识别器
本文转载自TimiXu的Blog文件系统识别器是一个标准的NT内核模式驱动程序。它只实现一项功能:检查物理介质设备,如果它能够识别存储介质的格式便加载相应的文件系统驱动程序。你可能要问:为什么不把所有的文件系统一起加载呢?因为系统几乎从不需要加载所有文件系统驱动程序,用一个小驱动可以节约数百K系统内存。实际上,所有标准的NT物理介质文件系统都利用文件系统识别器。举个例子来说,如果CD-ROM没...转载 2018-08-28 12:35:45 · 583 阅读 · 0 评论 -
关联自己的应用程序到右键菜单中
在Windows2000中,当用户在“我的电脑”或“资源管理器”中的某一文件上单击鼠标右键时会出现一个快捷菜单。单击的位置和对象不同,快捷菜单的内容也不尽相同。用户可根据自己的需要定制快捷菜单中的一些内容。假设用户希望在txt文件类型的右键快捷菜单中关联上自己的应用程序 (用户的应用程序名为mytxtapp.exe,在D盘根目录下) ,步骤如下:1、在注册表中找到并打开HKEY_CLASS...转载 2018-08-23 00:07:27 · 434 阅读 · 0 评论 -
支持 PS/2 与 USB 的键盘过滤驱动(可卸载)
http://www.cnblogs.com/evlon/articles/825597.html(转)支持 PS/2 与 USB 的键盘过滤驱动(可卸载) Author: sinisterEmail: sinister@whitecell.orgHomepage:http://www.whitecell.org Date: 2007-02-26/***********...转载 2018-08-28 12:33:45 · 1137 阅读 · 0 评论 -
ASCII码对照表
ASCII, American Standard Code for Information Interchange 念起来像是 "阿斯key",定义从 0 到 127 的一百二十八个数字所代表的英文字母或一样的结果与意义。由于只使用7个位元(bit)就可以表示从0到127的数字,大部分的电脑都使用8个位元来存取字元集(character set),所以从128到255之间的数字可以用来代表另一组一...转载 2018-08-26 12:21:57 · 1267 阅读 · 0 评论