qintangtao

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 31 下一页

2013年1月9日

摘要: 在平常的应用中电脑可能会染上病毒,特别是那种自动运行的病毒。首先在“开始”菜单的“运行”中输入Regedit, 打开注册表编辑器,展开到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Exploer主键下,在右侧窗格中找到“NoDriveTypeAutoRun”,就是这个键决定了是否执行CDROM或硬盘的AutoRun功能。双击“NoDriveTypeAutoRun”,默认状态下(即你没有禁止过AutoRun功能),在弹出窗 口中可以看到“NoDriveTypeAutoRun”默认键值为95,00,00, 阅读全文
posted @ 2013-01-09 11:18 qintangtao 阅读(803) 评论(0) 推荐(0) 编辑

2013年1月7日

摘要: 在win7和 win 2008 的64位 机器上取注册表键值时,发现键值存在,在调用RegQueryValueEx的时候总是查询失败,返回了2,一直以为是权限的问题,将其提升到debug还是不行,网络上也有朋友说创建.mainfest的文件提升权限,后面在MSDN网上也找到相关说明。不过还是失败。把这个程序放到xp下和win7 32下均能正常得到读取出来的值.于是就想会不会是64位OS的问题呢?最后还是在微软最新MSDN在线找到了答案。原来是在64位OS下操作注册表必须注意设置一个值。首先在文件头定义:#define KEY_WOW64_64KEY 256 // 兼容64位主机然后将RegOp 阅读全文
posted @ 2013-01-07 12:28 qintangtao 阅读(936) 评论(0) 推荐(0) 编辑

摘要: 1.前言:时常在cpp的代码之中看到这样的代码:#ifdef __cplusplusextern "C" {#endif//一段代码#ifdef __cplusplus}#endif 这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代码,那么加入extern "C"{和}处理其中的代码。 要明白为何使用extern "C",还得从cpp中对函数的重载处理开始说起。在c++中,为了支持重载机制,在编译生成的汇编码 阅读全文
posted @ 2013-01-07 10:31 qintangtao 阅读(941) 评论(0) 推荐(0) 编辑

2012年12月30日

摘要: 其实,有无标题栏无所谓,本文要实现的是点击客户区实现拖动.目前,很多基于对话框的应用程序中对话框都是不带框架的,也就是说对话框没有标题栏。众所周知,窗口的移动都是通过鼠标拖动窗口的标题栏来实现的, 那么现在应用程序中的对话框没有了标题栏,用户如何移动对话框呢?本实例针对这个问题提出解决的办法。程序编译运行后的界面效果如图一所示:图一、无标题栏的对话框界面一、实现方法解决无标题栏窗口的拖动问题有两种方案一种方案是使用常规思路来处理鼠标拖拽事件当窗口获得WM_LBUTTONDOWN(OnLButtonDown)时,通过设置标志并调用CWnd::SetCapture()函数来让当前窗口捕捉鼠标消息, 阅读全文
posted @ 2012-12-30 14:36 qintangtao 阅读(613) 评论(0) 推荐(0) 编辑

2012年12月28日

摘要: 我们知道,很多程序都可以设置透明度,或者至少有半透明的窗口。在做界面的时候你大概也会想加入一些这样的元素。限于水平,谈谈我自己所知道的编写方法吧。 所需函数原型: BOOL WINAPI SetLayeredWindowAttributes(HWND hWnd, COLORREFcrKey, BYTE bAlpha, DWORD flag); 参数含义: hWnd: 所要设置的窗口句柄。 flag: 透明方式,可取两个值:LWA_COLORKEY(其值定义为0x1)和LWA_ALPHA(其值定义为0x2)。可取二者的组合。 crKey: 掩码颜色,当flag取值为LWA_COLORKE... 阅读全文
posted @ 2012-12-28 16:07 qintangtao 阅读(2618) 评论(0) 推荐(0) 编辑

2012年12月27日

摘要: #error命令是C/C++语言的预处理命令之一,当预处理器预处理到#error命令时将停止编译并输出用户自定义的错误消息。 语法: #error [用户自定义的错误消息] 注:上述语法成份中的方括号“[]”代表用户自定义的错误消息可以省略不写。 举例1: #error Sorry,an error has occurred! 举例2: #error 用法示例: /* *检查编译此源文件的编译器是不是C++编译器 *如果使用的是C语言编译器则执行#error命令 *如果使用的是 C++ 编译器则跳过#error命令 */ #ifndef __cplusplus #... 阅读全文
posted @ 2012-12-27 10:54 qintangtao 阅读(209) 评论(0) 推荐(0) 编辑

摘要: 概述 这是一个比较常用的C/C++杂注,只要在头文件的最开始加入这条杂注,就能够保证头文件只被编译一次。 #pragma once是编译器相关的,就是说即使这个编译系统上有效,但在其他编译系统也不一定可以,不过现在基本上已经是每个编译器都有这个杂注了。 #ifndef,#define,#endif是C/C++语言中的宏定义,通过宏定义避免文件多次编译。所以在所有支持C++语言的编译器上都是有效的,如果写的程序要跨平台,最好使用这种方式具体写法 方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ ... ... // 一些声明语句 ... 阅读全文
posted @ 2012-12-27 10:50 qintangtao 阅读(227) 评论(0) 推荐(0) 编辑

2012年12月26日

摘要: 注册表简介:注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。注册表结构:注册表由键(或称“项”)、子键(子项)和值项构成。一个键就是分支中的一个文件夹,而子键就是这个文件夹中的子文件夹,子键同样是一个键。一个值项则是一个键的当前定义,由名称、数据类型以及分配的值组成。一个键可以有一个或多个值,每个值的名称各不相同,如果一个值的名称为空,则该值为该键的默认值。注册表中的数据类型:显示类型(在编辑器中) 数据类型 说明REG_SZ 字符串 文本字符串REG_MULTI_SZ. 阅读全文
posted @ 2012-12-26 12:11 qintangtao 阅读(510) 评论(0) 推荐(0) 编辑

2012年12月21日

摘要: int 转 CString:CString.Format("%d",int);...............................string 转 CStringCString.format("%s", string.c_str());用c_str()确实比data()要好........................................char* 转 CStringCString.format("%s", char*);CString strtest;char * charpoint;charpoint=&q 阅读全文
posted @ 2012-12-21 13:51 qintangtao 阅读(284) 评论(0) 推荐(0) 编辑

摘要: Unicode下CString与char*转换在VisualC++.NET2005中,默认的字符集形式是Unicode,但在VC6.0等工程中,默认的字符集形式是多字节字符集(MBCS:Multi-ByteCharacterSet),这样导致在VC6.0中非常简单实用的各类字符操作和函数在VS2005环境下运行时会报各种各样的错误,这里总结了在VisualC++.NET2005环境中Unicode字符集下CString和char*之间相互转换的几种方法,其实也就是Unicode字符集与MBCS字符集转换。(1)、Unicode下CString转换为char*方法一:使用API:WideChar 阅读全文
posted @ 2012-12-21 13:27 qintangtao 阅读(590) 评论(0) 推荐(0) 编辑

上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 31 下一页