VC/MFC
文章平均质量分 59
dahan_wangtao
这个作者很懒,什么都没留下…
展开
-
一个获取鼠标键盘动作的类 感谢hbxtlhx
得到鼠标的消息的类:using System;using System.Runtime.InteropServices;using System.Reflection;using System.Threading;using System.Windows.Forms;namespace HookGlobal{ /// /// 这个类可以让你得到一个在运行中程序的所有鼠标事件 /// 并转载 2007-02-06 10:03:00 · 1051 阅读 · 1 评论 -
C++ 类的继承
一、引言在C++中,类是提供封装的逻辑单位,类的每一个对象都包含有描述其自身状态的数据集合,并且通过接收特定的消息来处理这个数据集合。如果程序设计人员能够通过增加、修改或替换指定类的部分内容的方法对该类进行剪裁,就可以适应不同的应用,从而在很大程度上增强了数据封装的价值,而接下来要讨论的继承就完全可以实现这种操作。二、与继承有关的基本概念继承是一个进程,通过继承,一个对象可以获得另一个转载 2007-05-28 09:56:00 · 831 阅读 · 0 评论 -
正常指针参数释放和引用指针参数释放的问题
以前对指针释放的问题没有太在意,今天碰到了就仔细察看了一些资料,进行了简单的测试,现在给出测试结果,希望对新手有所帮助:void dispose1( int * p){ //p address 0x0012ff20 //p value 0x00372aa0 //*p = 8;原创 2007-08-27 11:11:00 · 2078 阅读 · 1 评论 -
网络SOCKET编程
介绍 Socket 编程让你沮丧吗?从man pages中很难得到有用的信息吗?你想跟上时代去编Internet相关的程序,但是为你在调用 connect() 前的bind() 的结构而不知所措?等等… 好在我已经将这些事完成了,我将和所有人共享我的知识了。如果你了解 C 语言并想穿过网络编程的沼泽,那么你来对地方了。 --------------------------------转载 2007-05-22 17:46:00 · 759 阅读 · 0 评论 -
解决WINDOWS重画闪烁的问题
一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁。先来谈谈闪烁产生的原因原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期。一般显卡的刷新周期是 1/80秒左右,具体数字可以自己设置的。这样问题就来了,一般原创 2007-05-25 09:48:00 · 1333 阅读 · 0 评论 -
线程和进程基础知识(同步I/O)
1. 进程与线程有那些区别和联系? 每个进程至少需要一个线程。 进程由两部分构成:进程内核对象,地址空间。线程也由两部分组成:线程内核对象,操作系统用它来对线程实施管理。线程堆栈,用于维护线程在执行代码时需要的所有函数参数和局部变量。 进程是不活泼的。进程从来不执行任何东西,它只是线程的容器。线程总是在某个进程环境中创建的,而且它的整个寿命期都在转载 2007-09-12 09:59:00 · 1054 阅读 · 0 评论 -
Windows下线程同步的实现方法
多任务是一个操作系统可以同时运行多个程序的能力。基本上,操作系统使用一个硬件时钟为同时运行的每个进程分配“时间片”。如果时间片足够小,并且机器也没有由于太多的程序而超负荷,那么在用户看来,所有的这些程序似乎在同试运行着。多线程是在一个程序内部实现多任务的能力。程序可以把它自己分隔为单独的执行“线程”,这些线程似乎也同时在运行[1]。[g1] 多线程的应用非常广泛,最常见的是在需要进行大量计算的转载 2007-09-12 10:22:00 · 980 阅读 · 0 评论 -
scanf问题
1.空白符问题#includemain(){ int a; printf("input the data/n"); scanf("%d/n",&a);//这里多了一个回车符/n printf("%d",a); return 0;}结果要输入两个数程序才结束,而不是预期的一个。why?原因:用空白符结尾时,scanf会跳过空白符去读下一个字符,所以你必须再输入一个数。这里的空白符包括空格,转载 2007-10-29 11:49:00 · 1630 阅读 · 1 评论 -
__stdcal、_cdecl和__fastcall
最近学习过程中碰到有关函数调用方法,如:__stdcal,_cdecl和__fastcall。查阅了一些相关的资料和别人的经验,我总结如下:__stdcal,_cdecl,__fastcall有三个方面来区分:1:函数参数是按什么顺序压入栈中的。2:调用完毕后是由谁来释放栈中的空间的。(这个问题主要是因为函数传递过程中是存放在栈中的,可以选择调用者释放空间,也可以选择被调用原创 2007-10-27 10:12:00 · 2258 阅读 · 2 评论 -
#pragma 预处理指令详解
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para 其中Para 为参数转载 2007-10-31 09:04:00 · 493 阅读 · 0 评论 -
vostor 1400驱动
最近看好dell的小型商务机1400,现在备份一些用的驱动,供大家参考。 vostor 1400必装驱动(请按标明数字顺序安装) 1 系统公用程序 (需重启)原创 2007-10-16 17:20:00 · 3531 阅读 · 2 评论 -
UNIX和WINDOWS下的互斥量
使用互斥锁原创 2007-11-03 16:03:00 · 899 阅读 · 0 评论 -
从 Windows 移植到 UNIX 环境
从 Windows 移植到 UNIX 环境大多数基于 Microsoft® Windows® 的项目都是使用 Microsoft Visual Studio® 构建的,这是一种复杂的集成开发环境 (IDE),它可以为开发人员实现几乎整个构建过程的自动化。此外,Windows 开发人员使用了 Windows 平台特定的应用程序程序接口 (API)、头文件和语言扩展。大多数类 UNIX® 系统,如转载 2007-11-05 11:21:00 · 956 阅读 · 0 评论 -
Linux进程通信-使用信号量
一、相关知识 信号量:一个整数; 大于或等于0时代表可供并发进程使用的资源实体数; 小于0时代表正在等待使用临界区的进程数; 用于互斥的信号量初始值应大于0; 只能通过P、V原语操作而改变; 信号量元素组成: 1、表示信号量元素的值; 2、最后操作信号量元素的进程ID 3、等待信号量元素值+1的进程数; 4、等待信号量元素值为0的进程数; 二、主要函数 1.1 创建信号量 in转载 2007-11-06 11:35:00 · 2356 阅读 · 1 评论 -
InterLockedIncrement and InterLockedDecrement
最近做的东西和相关的多线程访问相关,看到相关InterLockedIncrement and InterLockedDecrement的介绍比较少,我就简单总结一下:InterLockedIncrement and InterLockedDecrement实现数的原子性加减。什么是原子性的加减呢?举个例子:如果一个变量 Long value =0;首先说一下正常情况下的加减操作:原创 2007-11-09 11:44:00 · 2567 阅读 · 2 评论 -
CPUID指令介绍
CPUID指令 1. CPUID指令代码: 0a20f 例: { CPUID MACRO dw 0a20fh ENDM } 2. CPUID有效检测 如果程序可以改变EFLAGE(扩展标志字)的第21位,那么CPUID有效, 否则无效。 注:对于Cyrix的CPU,在打开其内部CPUID标志位之前,用此方法转载 2007-11-29 14:33:00 · 1706 阅读 · 0 评论 -
ASCII 字元表
ASCII 字元表ASCII 碼大致可以分作三部分組成。第一部分由 00H 到 1FH 共 32 個,一般用來通訊或作為控制之用,有些字元可顯示於螢幕,有些則無法顯示在螢幕上,但能看到其效果(例如換行字元、歸位字元)。如下表: 第二部分是由 20H 到 7FH 共 96 個,這 95 個字元是用來表示阿拉伯數字、英文字母大小寫和底線、括號等符號,都可以顯示在螢幕上。如下表:转载 2008-03-04 10:32:00 · 805 阅读 · 0 评论 -
win32下串口读写设置操作
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答。 在Win32下,可以使用两种转载 2007-05-22 17:15:00 · 5871 阅读 · 0 评论 -
C++运算符号优先级
Precedence Operator Description Example Associativity 1 ()[]->.::++--原创 2007-08-16 16:40:00 · 1615 阅读 · 0 评论 -
Setup Was Unable to Create a DCOM User Account" Error Message in Visual Studio 6.0
BUG: Setup Was Unable to Create a DCOM User Account" Error Message in Visual Studio 6.0How to solve it???from the below text ,you will get the answer. Re-install Visual Studio 6.0 Enterprise原创 2007-05-16 11:10:00 · 2625 阅读 · 0 评论 -
串口通信—Winbase.h—描述
用于串口通信的函数和结构在Winbase.h头文件中定义。 函数 描述 CreateFile 打开串行口 GetCommState 用指定通信设备的当前控制设置填充设备控制块(DCB结构) SetCommState 按照DCB结构的说明配置通信设备。这个函数重新初始化所有硬件 和控制设备,但不清空I/O队列 GetCommTimeouts 获得指定通信设备上所有读/写操作的超时参数 SetComm转载 2007-03-12 10:45:00 · 3058 阅读 · 0 评论 -
一个封装的不错的串口操作类
一个封装的不错的串口类(提供源代码) 感谢作者:http://www.cnblogs.com/taojingtao/archive/2006/04/06/368411.html串口类接口,也就是头文件,类名CRs232.Rs232.h#pragma once#define RS232_H#define RXQUEUE 4096 // 接收缓冲区大小#defi转载 2007-03-12 10:49:00 · 1162 阅读 · 0 评论 -
用C#开发.NETCF蓝牙通信模块
用C#开发.NETCF蓝牙通信模块 今天查其他资料,发现此处蓝牙开发,收了。以备后用。 在Windows Mobile软件开发中.Net正扮演着日益重要的角色,我们已经可以看到很多用.Net CF开发的软件,这些软件涉及到了日常应用的方方面面。在智能设备的软件开发中,转载 2007-02-04 22:07:00 · 1264 阅读 · 0 评论 -
VC出现Compiling...和Linking... 死锁问题的原因和解决方案(郁闷了一个星期)
这几天做毕业设计,开发环境是在vc下,以前也用过vc,不过不怎熟,毕竟都是前几年的事了,现在C#.NET以其方便、快速、高效的流程让人们感到这种语言自身的美, vc逐渐在用户的手中慢慢萎缩,但是vc有自己忠实的客户和程序员,有赏识自己的系统软件,驱动程序,在音视频方面,网络方面有着不可取代的地位,闲话不说,就说说我的问题吧:问题出现在大概一个星期之前,我在用vc开发用户蓝牙PC服务端程序的时候原创 2007-03-22 09:26:00 · 3042 阅读 · 4 评论 -
灰色按钮激活程序的原理 (学习)
首先我们需要明白程序实际上程序中的每个窗口都会有个句柄(即:窗口句柄)这个句柄是唯一的,在同一时刻不会有两个同样的句柄存在.一般来说灰色按纽激活程序都是激活的当前活动的窗口即当前得到焦点的窗口,(其他没得到焦点的窗口为灰色标题栏)如何得到呢?我们可以用一个APIGetForegroundWindow这个API即可获得当前激活的窗口.返回类型就是一个句柄,函数原形如下:HWN转载 2007-03-31 15:23:00 · 2981 阅读 · 0 评论 -
dll文件的简单使用
简单使用Dll文件,如下:HINSTANCE hinstLib; hinstLib = LoadLibrary("C://testprog//test.dll"); if(!hinstLib) { AfxMessageBox("err"); return FALSE; } typedef int ( *max11)(int i1,int i2,i原创 2007-04-02 14:13:00 · 700 阅读 · 0 评论 -
VC读写INI文件(转)
VC读写INI文件(转)在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中. 1.所用的WINAPI函数原型为: BOOL WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyNam转载 2007-04-03 13:21:00 · 3532 阅读 · 1 评论 -
vc下读写注册表
Win 95及NT的注册数据库(Registry)是系统中非常重要的组成部分。在Win32 API中有一组Reg函数来处理这些问题。其一般的读写过程如下: 1、使用RegOpenKeyEx或RegCreateKeyEx函数打开或创建一个键; 2、如果上一步成功,使用RegQueryValueEx读取子键的值,使用RegSetValueEx设置子键值,使用RegEnumKey获得所有转载 2007-04-03 14:51:00 · 1302 阅读 · 0 评论 -
基于Visual C++6.0的DLL编程实现
基于Visual C++6.0的DLL编程实现 自从微软推出16位的Windows操作系统起,此后每种版本的Windows操作系统都非常依赖于动态链接库(DLL)中的函数和数据,实际上Windows操作系统中几乎所有的内容都由DLL以一种或另外一种形式代表着,例如显示的字体和图标存储在GDI DLL中、显示Windows桌面和处理用户的输入所需要的代码被存储在一个User DLL中、Wi转载 2007-04-03 17:10:00 · 778 阅读 · 0 评论 -
c++下 ini文件和注册表的读写
今天作公司题目,要求对ini 文件和注册表进行读写操作,查了一些文章,发现ini文件和注册表的操作并不是很困难,简单总结一下,给能借用的朋友提供以下资料,如果你还有什么疑问可以给我留言,下面我先分析一下对ini文件的操作:写入ini 文件可以到用下面函数: cs = "c://wt.ini"; ::WritePrivateProfileString("SECTION_1","Key1","原创 2007-04-03 16:51:00 · 1160 阅读 · 0 评论 -
VC下dll文件的编写和显式链接调用
初步学习VC下的dll文件,查了很多资料,发现很少有讲解很全面的文章,这样的文章对新手来说只是一个大概,作为新手,我谈一下我的感受,第一次接触dll文件的时候,dll就是一个函数库,可以提供被调用的函数, 并且在Application中如果碰到要更新文件时不用重新生成新的Application,这样方便了设计流程和维护,更能体现编程过程中模块独立性。下面就提供一个简单的程序,给新手参考:在VC原创 2007-04-04 10:54:00 · 1956 阅读 · 0 评论 -
MFC中DDB (DEVICE-DEPENDENT BITMAP)详解
最近要做一个在MFC中先加载一张位图(BMP),然后将这张位图读入内存中来,最后再显示到界面上,同时能够旋转位图,并且把旋转的位图保存下来,看了一天的文章,今天我就把相关的介绍在这里给大家详细地介绍一下,希望给刚开始这方面的程序员提供全面的解释。以前WINDOWS编程时对应每一个画图操作都有一个对应的HDC,但是再MFC中,通过CDC等大类对WINDOW API函数进行了封装,HDC成了CDC等绘原创 2007-04-06 09:56:00 · 2923 阅读 · 2 评论 -
Linux下 C语言编程基本知识
这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将会学到以下内容: 源程序编译 Makefile的编写 程序库的链接 程序的调试 头文件和系统求助 1.源程序的编译 在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器. 下面我们以一个实例来说明如何使用gcc编译器. 假设我们有下面一个非常简单的源程序(hell转载 2007-07-10 19:02:00 · 985 阅读 · 1 评论 -
bmp文件MFC中翻转、保存和解析代码
最近把位图的打开、保存、翻转代码给大家贴出来,供大家参考:再本文中处理1位和24位bmp文件,其他的可以自行研究、、、首先,你要做好准备工作,在View类中设置好对应的变量和函数:private: CFile cFile; //文件打开 BITMAPINFOHEADER bmih; //位图信息原创 2007-04-18 11:02:00 · 5635 阅读 · 12 评论 -
CString,int,string,char*之间的转换
CString,int,string,char*之间的转换string 转 CString CString.format("%s", string.c_str()); char 转 CString CString.format("%s", char*); char 转 string string s(char *); string 转 char * char *p = string转载 2007-04-19 09:12:00 · 1559 阅读 · 0 评论 -
泛型编程与设计新思维
泛型编程与设计新思维感谢:http://www.vckbase.com/document/viewdoc/?id=955提供资源前言 永远记住,编写代码的宗旨在于简单明了,不要使用语言中的冷僻特性,耍小聪明,重要的是编写你理解的代码,理解你编写的代码,这样你可能会做的更好。 --- Herb Sutter 1998年,国际C++标准正式通过,标准化对C++最重要的贡献是:对转载 2007-04-20 10:36:00 · 673 阅读 · 0 评论 -
C语言文件操作函数(ANSI)
在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之。一、流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下:typedef struct {int level; /* fill/empty level of buffer */unsigned flags; /* File status fla转载 2008-03-03 11:27:00 · 1609 阅读 · 0 评论