
c
nliuliu
这个作者很懒,什么都没留下…
展开
-
逗号运算符
C 语言中,逗号(,)也可以是运算符,称为逗号运算符(Comma Operator)。逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式,称为逗号表达式。其一般形式为: 子表达式1, 子表达式2, ..., 子表达式n例如: a + b, c = b, c++逗号运算符的优先级是所有运算符中级别最低的,通常配合 for 循环使...原创 2009-05-18 11:40:09 · 332 阅读 · 0 评论 -
VC中简单操作注册表
本文只是对注册表实现简单的打开、创建、读、写、关闭操作,故只是基本知识的介绍,适合不能熟练使用注册表操作的初级读者。 (我把本文放在这里,其实最主要的目的是怕自己以后忘了,毕竟我也不常用这方面的知识,好不容易弄懂了点点,就赶快存起来,呵呵^_^) 一、说明: 注册表是Windows重要组成部分,注册表记录了大量有关电脑软硬件的信息。注册表中的值通过其名称...原创 2010-09-19 14:30:47 · 130 阅读 · 0 评论 -
Activex控件在IE中也可以不显示安全提示
转csdn网友shepherds() 在classview下,向目录的第一个.h文件(即App启动头文件)中加入以下内容:源码打印//创建Component Categories中的初始化安全和脚本安全项 HRESULT CreateComponentCategory(CATID catid, WCHAR* catD...原创 2010-09-17 17:08:17 · 207 阅读 · 0 评论 -
U 盘加载,卸载,拔出,插入,WM_DEVICECHANGE,WndProc,DBT_DEVICEARRIVAL,DBT_DEVICEREMOVECOMPLE...
最近在做一个和U盘有关的项目,有一个需求是要求显示插入的U盘的盘符,当然了,如果拔出U盘,也应该更新显示,就是显示U口上插入的全部移动设备的全部盘符。其实就是重写<!-- <br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www....原创 2010-05-25 21:17:32 · 211 阅读 · 0 评论 -
DeviceIoControl的使用说明
应用程序和驱动程序的通信过程是:应用程序使用CreateFile函数打开设备,然后用DeviceIoControl与驱动程序进行通信,包括读和写两种操作。还可以用ReadFile读数据用WriteFile写数据。操作完毕时用CloseHandle关闭设备。我们比较常用的就是用DeviceIoControl对设备进行读写操作。先看看DeviceIoControl是怎么定义的:...原创 2010-05-25 17:39:16 · 385 阅读 · 0 评论 -
Enable3dControls()和Enable3dControlsStatic()函数简介
Enable3dControls()和Enable3dControlsStatic()函数简介:CWinApp::Enable3dControlsBOOL Enable3dControls( );BOOL Enable3dControlsStatic( );注意:在这个部分同时描述了Enable3dControls和Enable3dControlsStatic。返回值:...原创 2010-05-25 09:44:11 · 211 阅读 · 0 评论 -
CString,string,char* 之间的转换
这几天经常用到的,不如记下吧。这三种类型各有各的优点,比如CString比较灵活,是基于MFC常用的类型,安全性也最高,但可移植性最差。string是使用STL时必不可少的类型,所以是做工程时必须熟练掌握的;char*是从学习C语言开始就已经和我们形影不离的了,有许多API都是以char*作为参数输入的。所以熟练掌握三者之间的转换十分必要。以下我用简单的图示指出三者之间的关系,...原创 2010-05-24 11:49:56 · 190 阅读 · 0 评论 -
_cdecl 和_stdcall
_cdecl 是C Declaration的缩写,表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈。被调用函数无需要求调用者传递多少参数,调用者传递过多或者过少的参数,甚至完全不同的参数都不会产生编译阶段的错误。_stdcall是StandardCall的缩写,是C++的标准调用方式:所有参数从右到左依次入栈,如果是调用类成员的话,最后一个入栈...原创 2009-08-04 17:12:27 · 95 阅读 · 0 评论 -
指针和数组之区别
数组名可以当作一个指针来用,数组名可以用*取其中的值,指针也可以用[]解引用,但它们还是有一些区别的,我知道的有3个:1.数组名不可以作为左值,关于这一点,可以将数组名理解为指针常量。 int a[10],*b; b是一个指针型变量,a是一个数组。 b是左值,可以存在b=a; a不是左值,不能出现在"="左边。 a相当于一个常量,类型为数组。2.对数组名进行si...原创 2009-07-25 20:00:50 · 114 阅读 · 0 评论 -
c++内存管理
1.void GetMemory(char *p){p = (char *)malloc(100);}void Test(void) {char *str = NULL;GetMemory(str); strcpy(str, "hello world");printf(str);}请问运行Test函数会有什么样的结果?答:程序崩溃。因为...原创 2009-06-29 10:12:03 · 86 阅读 · 0 评论 -
C++ Primer中文版(第4版) 随书源码
MS_files.zip for windows using .net.gnu_files.tar.gz for unix using gcc原创 2009-06-07 22:08:47 · 357 阅读 · 1 评论 -
#include "" 和#include <> 区别问题
clude ""是先从本地目录开始寻找,然后去寻找系统路径 而Include 相反先从系统目录,后从本地目录 习惯上,标准库的头文件用尖括号< >括起来,非标准库的头文件用双引号" "括起来。...原创 2009-06-07 21:02:08 · 131 阅读 · 0 评论 -
std::cout 与\n
#includint main(){std::cout原创 2009-06-07 19:53:43 · 686 阅读 · 0 评论 -
关于从WEB服务器自动下载安装可执行性文件的方法
首先,想要在客户端直接执行服务器端的程序,必须做一个ActiveX控件(或者有个打包好的CAB文件也行),为的是能够用网页object。看到以前有高手说过,可以写一个没有任何功能的ActiveX控件,小的认为,如果这样的话,客户机的IE安全设置级别高的话,这个ActiveX控件就很难运行。如果想突破安全级别的限制的话,就必须在控件上下功夫。至于能突破安全级别的控件如何编写,小的在后面再介绍。其实想...原创 2010-09-20 15:17:22 · 520 阅读 · 0 评论