
VC开发
文章平均质量分 55
djimon
这个作者很懒,什么都没留下…
展开
-
VC++中创建漂亮的应用程序界面[原创]
创建漂亮的应用程序界面http://blog.163.com/facteur@126/blog/static/232080302007029112235281/刘汇丹 facteur@126.com1. 首先在VC里面建立基于对话框的可执行应用程序工程,命名为demo。2. 在主窗体对话框属性里取消Title bar属性, 去掉对话框标题栏。在对话框窗体里面转载 2013-01-10 16:54:15 · 3446 阅读 · 0 评论 -
二级指针与二级数组汇总
<br />一个函数形如:<br />void f(float **p){<br />/* 想要在函数体中按二维数组的方式访问*/<br /> p[1][1] = 0;//c++用vc编译ok,运行出错(非法访问)<br />}<br />float **p; //其实这里的p并不是一个二位数组的指针,只不过是一个指向指针的指针<br />像你这样访问肯定是会出问题的。<br />例如:<br />float a[2][2]={0,1,2,3};<br />float **p=(float**)a;/转载 2010-07-30 16:20:00 · 1853 阅读 · 0 评论 -
解决VC6与Office2007冲突的问题
VC6安装图文:http://www.cnblogs.com/emanlee/archive/2009/02/23/1396350.html 今天开始玩C++,但一来就出现一个小问题,还好,总算能解决.现把方法转到此供大家共享:启动 打开文件 对话框在 Visual C++ 使用键盘快捷方式键或从 文件 菜单导致以下错误:在 0x5003eaed DEVSHL.DLL 中的访转载 2010-04-06 00:07:00 · 2179 阅读 · 0 评论 -
HDC与CDC相互转换(转载)
首先说一下什么是DC(设备描述表):Windows应用程序通过为指定设备(屏幕,打印机等)创建一个设备描述表(Device Context, DC)在DC表示的逻辑意义的“画布”上进行图形的绘制。DC是一种包含设备信息的数据结构,它包含了物理设备所需的各种状态信息 。Win32程序在绘制图形之前需要获取DC的句柄HDC,并在不继续使用时释放掉。 在c++ 编程中常会见到HDC,CDC,CC转载 2009-11-18 14:21:00 · 1120 阅读 · 1 评论 -
滑块控件SLIDER的应用与消息
写程序正好用到SLIDER控件,随把心得发表出来以供分享。 一、应用 CTestDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar){// TODO: Add your message handler code here and/or call default CSliderCtrl *原创 2009-11-17 14:35:00 · 4111 阅读 · 0 评论 -
用DirectShow时VC的环境配置
假设DirectX SDK安装在D:/DXSDK目录下。与vc6.0兼容的是DirectX 9.0b SDK。1.编译基类源代码,至少生成两个静态库文件:Debug版本是strmbasd.lib,Release版本是strmbase.lib。 D: /DXSDK /Samples /C++ /DirectShow /BaseClasses /baseclasses.dsw 2.原创 2009-07-09 16:16:00 · 726 阅读 · 0 评论 -
消息钩子函数入门篇
Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子可以监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。这样,我们就可以在系统中安装自定义的钩子,监视系统中特定事件的发生,完成特定的功能,比如截获键盘、鼠标的输入,转载 2009-06-29 11:44:00 · 406 阅读 · 0 评论 -
屏幕抓词的技术实现
屏幕上的文字大都是由gdi32.dll的以下几个函数显示的:TextOutA、TextOutW、ExtTextOutA、ExtTextOutW。实现屏幕抓词的关键就是截获对这些函数的调用,得到程序发给它们的参数。 我的方法有以下三个步骤: 一、得到鼠标的当前位置 通过SetWindowsHookEx实现。 二、向鼠标下的窗口发重画消息,让它调用系统函数重画 通过WindowFr转载 2009-06-29 11:43:00 · 689 阅读 · 0 评论 -
VC最小化程序到托盘
一、NOTIFYICONDATA结构 NOTIFYICONDATA结构包含了系统用来处理托盘图标的信息,它包括选择的图标、回调消息、提示消息、图标对应的窗口等内容。其定义为: typedef struct _NOTIFYICONDATA { DWORD cbSize; //以字节为单位的这个结构的大小 HWND hWnd;转载 2009-06-26 17:05:00 · 621 阅读 · 0 评论 -
使对话框应用程序具有系统托盘功能
1. 将SystemTray.h和SystemTray.cpp拷贝到项目工作目录,再添加到项目里。 在XXXDlg.h中加入 #include "SystemTray.h" 2. 为XXXDlg类添加protected变量:CSystemTray m_trayIcon3. 建立托盘菜单 也就是当程序隐藏到任务栏上时,你用右键点击托盘图标时显示出的右键菜单。转载 2009-06-26 17:11:00 · 618 阅读 · 0 评论 -
把dll发到资源文件里,怎样把它load出来
你的dll必须要显式连接 ,否则程序根本无法启动. 一、将应用程序调用的外部数据文件集成到程序可执行文件中 我们知道,Windows应用程序中包括执行代码和程序资源两部分。例如,应用程序的位图、图标、对话框、字串表等都被存储在应用程序资源中。对于处于应用程序外部的多个小数据文件,一方面容易丢失从而将造成程序出错,另一方面也存在安全性和保密性不强等弊端转载 2009-06-18 11:46:00 · 1428 阅读 · 0 评论 -
位图文件读写综述
<br />一、位图文件结构位图文件头 位图信息<br />2.1 位图信息头<br />2.2 颜色表位图数据 <br />二、位图文件读写操作类的声明位图的读取位图读取过程中的调色板的创建和调用位图的显示位图的存储新位图的创建其它问题<br />三、CFG_DIB的使用<br /><br /><br />下载本文配套代码<br /><br />关于位图文件操作的资料很多。为了方便开发人员的工作,写下本文,介绍了位图文件结构,在此基础之上设计了通用类CFG_DIB,用于进行位图文件的读写操作。<br />转载 2010-08-12 14:34:00 · 717 阅读 · 0 评论 -
也说_T、_TEXT、TEXT、L
原帖地址:http://www.cnblogs.com/sobe/archive/2011/03/14/1984188.html 百度或谷歌一下,有很多大牛早已经写过无数相关的文章说明这几个宏的作用而我嘛,写这篇东东当是给自己一个提醒,因为之前直接使用了L这个标志,搞到后来要自己转载 2011-07-20 17:08:09 · 683 阅读 · 0 评论 -
VC++ 远程控制 屏幕监控 (传说中的木马)
传说中的木马自已做出来 真的很爽快的感觉一直都很疑惑,怎么可以控制其它人的机器,这吓好了,SOCKET加屏幕截图功能实际远程控制////.h#pragma once#include #pragma comment(lib,"ws2_32.lib")class SDKWind{public://structstruct SKey{int typ转载 2013-01-10 16:51:53 · 5775 阅读 · 1 评论 -
设置connect超时时间
socket编程中,当客户端connect()连接一个服务端时,如果网络或服务端繁忙,connect()函数会迟迟不会返回(阻塞模式下)。这里有个方法,可以设置如果在给定的时间内还没有连接上,就不在连接。1、设置socket为非阻塞模式2、connect()连接3、如果出错,用select()系统调用对其进行超时检测,看在给定的时间内socket是否变得可写int转载 2012-12-12 19:10:06 · 2108 阅读 · 0 评论 -
VC6中用DOM遍历网页中的元素
http://hi.baidu.com/ouanan/item/29984ad1f429e2cc1b72b4eb-- VC6中用DOM遍历网页中的元素 下在本文源代码 一、摘要 在我们编写的程序中,如果想要实现对浏览器打开的网页进行监视、模拟操纵、动态提取用户输入、动态修改......等功能,那么请你抽出宝贵的时间,继续往下阅读。本文介绍的知识和示例程转载 2012-12-11 13:09:21 · 2094 阅读 · 0 评论 -
VC,webbrowser控件中弹出新网页窗口
用webbrowser控件浏览网页时,常弹出新的网页窗口,若不做任何控制的话,会在默认浏览器(一般是IE)中打开,这样就在新的窗口打开了,原程序就很难控制了,且存在webbrowser控件和IE的session共享问题。解决方法是让新打开的网页在自己的对话框中打开,具体步骤如下:一、新建基于对话框的MFC程序,对话框ID为IDD_SHELL_DIALOG,添加Microsoft W转载 2012-12-10 14:06:59 · 3775 阅读 · 0 评论 -
利用WebBrowser控件创建自己的浏览器
是不是很早就想拥有一个很有个性的浏览器?本文将介绍如何利用MicroSoft的 WebBrowser控件在VC中创建一个属于自己的浏览器。过程如下: ①新建一个基于对话框的工程,命名为test,然后在对话框上单击右键,选择 Insert ActiveX Control…在弹出的对话框中选择MicroSoft Web浏览器,点击OK。 此时对话框上已经出现了WebBrowser控转载 2012-12-10 14:06:02 · 1000 阅读 · 0 评论 -
(转)VC++多线程编程
留个纪念,不错的总结。十个例子清晰列举啦多线程编程的奥妙。 VC中多线程使用比较广泛而且实用,在网上看到的教程.感觉写的挺好.一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的转载 2012-04-01 09:58:06 · 856 阅读 · 0 评论 -
CImage类
CImage类的成员可分为连接与创建、输入与输出、位图类型与参数,以及图形绘制与位图块传送等4类。(1) 连接与创建Attach 将一个DIB(或DDB)位图与CImage对象相连接Detach 位图与CImage对象相分离Create 创建一个D转载 2011-09-09 13:15:10 · 850 阅读 · 0 评论 -
DLL编写教程
原帖:http://www.blogjava.net/wxb_nudt/archive/2007/09/28/144371.html半年不能上网,最近网络终于通了,终于可以更新博客了,写点什么呢?决定最近写一个编程技术系列,其内容是一些通用的编程技术。例如DLL,COM,So转载 2011-09-09 13:21:49 · 742 阅读 · 0 评论 -
CFileDialog的详解
CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFi转载 2011-09-09 13:11:55 · 1111 阅读 · 0 评论 -
VC控件----如何根据句柄判断其类型
hWnd=GetWindow(hDlg,GW_CHILD); if(hWnd == NULL || !::IsWindow(hWnd)) return FALSE; nIdFirst=GetDlgCtrlID(hWnd); do {转载 2011-09-08 10:23:44 · 1148 阅读 · 0 评论 -
[C/C++]如何防止Edit框中的密码不被非法获取
来源:http://www.st0754.net Windows虽然是一个功能强大的操作系统,但其存在的一些先天性不足,给黑客留下了许多可乘之机,著名的BO程序就是利用Windows的这些漏洞来危害计算机的安全。笔者最近发现了一个很流行的专门获取Edit框Password的工具,甚至其源代码已在某报纸发表,这无疑是对Edit的Password功能的完全否定。本文将首先分析非法获取Passw转载 2009-06-18 11:33:00 · 1128 阅读 · 0 评论 -
使用HWND获得EDIT句柄后GetWindowText的经验
GetWindowText获取数据有限制,也不是像上面说的不能获取其他程序里的内容.估计是特殊的例如加密和只读的不可以. char szText[255] = {0};用SendMessage(hwnd,WM_GETTEXT,MAX_PATH,(LPARAM)buf);原创 2009-06-17 17:27:00 · 3886 阅读 · 1 评论 -
[ 转]常引用,const CString&,引用的效率
From:http://hi.baidu.com/idealsoft/blog/item/100e7d1e3202481a40341739.html C++的兴起,给一些形而上学或者一知半解的伪面向对象程序员,提供了诸多口实。致使他们在日常的编程中,疯狂的使用对象,常使我不寒而栗。上帝要毁灭一个人之前,总是先让他疯狂。C++中,琳琅满目的书籍,也不遗余力的如此吹捧。可是事实证明,到目前原创 2009-06-17 15:45:00 · 1845 阅读 · 2 评论 -
VC6-QQ对对碰
前段时间跟以前的同事玩QQ游戏对对碰,结果输的好惨,后来在网上看到了有对对碰的外挂,但还需要注册,就考虑既然别人可以写出来,我为什么就不能写出来呢?于是花了一个下午的时间仔细研究了一下,把外挂写了出来。 其实原理很简单,只要将棋盘上面的数据保存起来,然后经过分析就可以知道移动哪里的动物,然后再通过模拟鼠标消息来点击两个位置就可以了。 1)获取棋盘数据原创 2009-04-29 09:40:00 · 1485 阅读 · 0 评论 -
C++中的虚函数(virtual function)
原文:http://www.vckbase.com/document/viewdoc/?id=939 1.简介 虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次:class A{public: virtual void foo() { cout };class B: public A{pu转载 2009-04-28 15:49:00 · 690 阅读 · 0 评论 -
虚函数专题
分析一【举例】分析二【C++中虚函数学习笔记】分析三【关于虚函数的一个小例子 】========================================================分析一 #includeclass A{public:A();~A();virtual void foo() { cout void function() {...}};class B原创 2009-04-28 15:35:00 · 2324 阅读 · 0 评论 -
CString类所有成员函数详解
VC里CString是我们最常用的类之一,我们觉得对它很熟悉了,可是你知道它的所有用法吗?还是系统的学习一下吧,认真看完本文就OK了。下面开始: CString::Compare int Compare( LPCTSTR lpsz ) const; 返回值 字符串一样 返回0 小于lpsz 返回-1 大于lpsz 返回1 区分大小字符 CString s1( "ab转载 2009-04-27 11:32:00 · 6262 阅读 · 0 评论 -
strcmp()比较字符串大小原理
如果单纯比较长度,直接调用类似于strlen()之类的函数就可以,加以比较即可. 如果比较字符串的大小,则比较的是字符的ASCII编码的大小.你搜索一下ASCII码表就可以得知每一个ASCII字符的大小. 参考http://www.wpyz.net/noip/11-1.asp 在比较时,设置一个计数器,从零开始,一直循环到最短的那个字符结束,一位一位进行比较, 1.如果 字符串1的第n位的ASCI转载 2009-04-27 14:21:00 · 15377 阅读 · 3 评论 -
Windows挂钩的简单使用
原贴地址:http://blog.sina.com.cn/s/blog_56dee71a010007h1.html 最近手机上的短信存储器快满了,应该删除一些短信以留出一些空间,但是有好多短信是各个MM发过来的,舍不得就这么删除了,想导出到电脑里面保存起来。万一哪天MM成了我女朋友了,有机会的时候可以给她看看,说明我是这么珍惜跟她相关的点点滴滴。^_^于是用数据线把手机连接到电脑上,打开E转载 2009-04-11 10:23:00 · 1819 阅读 · 0 评论 -
TRACE宏
TRACE宏对于VC下程序调试来说是很有用的东西,有着类似printf的功能;该宏仅仅在程序的DEBUG版本中出现,当RELEASE的时候该宏就完全消失了,从而帮助你调试也在RELEASE的时候减少代码量。 使用非常简单,格式如下: TRACE("DDDDDDDDDDD"); TRACE("wewe%d",333); 同样还存在TRACE0,TRACE1,TRACE2。。。分别对应0,1,2。。个原创 2009-04-11 10:12:00 · 805 阅读 · 1 评论 -
EnumWindows 使用以及出现的问题
EnumWindows 用来列举屏幕上所有顶层窗口。MSDN原话:The EnumWindows function enumerates all top-level windows on the screen by passing the handle to each window。函数形式:BOOL EnumWindows( WNDENUMPROC lpEnumFunc, /转载 2009-04-11 09:45:00 · 2924 阅读 · 0 评论 -
关于SetWindowsHookEx【HOOK钩子】
请问如果我只想获得当前的键盘输入,最简单的办法是什么呢?如果只使用Win SDK的话。 我是用的console程序。 谢谢,请给举个例子 ----------------------------------------------------------------------做一个全局的DLL,然后DLL里面调用SetWindowsHook就可以了。这个和console没有关系哈。 ------转载 2009-04-11 10:28:00 · 4201 阅读 · 0 评论 -
CString GetBuffer()详解
GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能。 是否需要在GetBufer后面调用ReleaseBuffer(),是根据你的后面的程序是否需要继续使用该字符串变量,并且是否动态改变其长度而定的。不是什么好地编程习惯,之类的原因。 如果你GetBuffer以后程序自函数就退出,局原创 2009-03-05 16:18:00 · 1141 阅读 · 0 评论 -
对话框中控件的WM_KEYDOWN消息处理
在很多应用中我们要对对话框的控件进行个性化处理,如控制输入编辑框的字符。这时候我们就要对WM_KEYDOWN进行消息处理,下图给出了该消息的流向。知道了该消息的流向就知道可以在哪些地方截获。可以在CAppDlg::PreTranslateMessage()、CDebugEdit::PreTranslateMessage()、CDebugEdit::WindowProc()、CDebug转载 2009-04-29 10:51:00 · 1031 阅读 · 0 评论 -
托盘类
昨天为了实现客户端最小化到系统托盘整了一个下午,下面是我的实现过程:一.为了以后使用方便,我把实现系统托盘做成了一个类:CSysTrayCSysTray的实现过程:// SysTray.h: interface for the CSysTray class.//实现系统托盘类头文件/////////////////////////////////////////////////////转载 2009-07-15 17:12:00 · 791 阅读 · 0 评论 -
串口枚举的4种方法
我来做一下总结: 枚举串口、并口不同的系统有不同的做法: 对于NT4这能够使用CreateFile轮询的方法; 对于win9x可以使用读取注册表的方法; 对于win2000,XP可以使用几个API但是必须要连接WIN32 SDK的setupapi.lib 具体使用方法可以参考http://www.codeguru.com/system/SerialEnu转载 2009-06-05 16:49:00 · 2618 阅读 · 0 评论 -
设备I/O之OVERLAPPED
OVERLAPPED,顾名思义为重叠,乍一看会很奇怪,重叠?谁跟谁重叠?似乎在WIN32的Programming中没有这个概念呀?要讨论这个问题就要追溯到对设备I/O的访问中 在WIN32中,用户不能象以前那样直接对硬件进行访问,使得这一层对开发者而言是个"黑盒",而是提供了一组对应的API的接口.让开发者基于提供的接口进行开发,而把低层的访问交给了Driver或者内核. 在WIN32中,设备转载 2009-05-15 15:11:00 · 469 阅读 · 0 评论