VC环境下编程
zhengguoying
爱好
展开
-
CollectConfg 源代码(一)
//parameter treatment CString strFolderPath,strSetFlPath,strFlag; strFolderPath = argv[1]; strSetFlPath = argv[2]; strFlag = argv[3]; if (strFlag.IsEmpty()||strFolderPath.IsEmpty()||strSetFlPath.IsEm原创 2010-03-23 09:54:00 · 340 阅读 · 0 评论 -
获取进程当前的路径
//FUN9:获取进程当前的路径CString GetModulePath(){ CString strPath; GetModuleFileName(NULL, strPath.GetBuffer(MAX_PATH), MAX_PATH); strPath.ReleaseBuffer(); int nPos = strPath.ReverseFind(//); strPath = s原创 2010-04-06 18:13:00 · 591 阅读 · 0 评论 -
unix格式转换成windows格式
int main(int argc, char* argv[]){ int ch; char *file1 = "c://e1.txt"; char *file2 = "c://e.txt"; FILE *in = NULL; FILE *out = NULL; if (!(out = fopen(file1,"wb+"))) { return 1; } if (!(in = fopen原创 2010-05-10 10:47:00 · 1122 阅读 · 0 评论 -
#pragma pack(1) and #pragma pack(push,1)是什么意思
(1) #pragma pack(1) 作用:调整结构体的边界对齐,让其以一个字节对齐;#pragma pack(1) 使结构体按1字节方式对齐例如:struct sample{char a;double b;};若不用#pragma pack(1)和#pragma pack()括起来,则sample按编译器默认方式对齐(成员中size最大的那个)。即按8字节(doub原创 2010-05-22 22:38:00 · 697 阅读 · 0 评论 -
this 指针
this 指针 对于每一个类的非静态成员函数,都有一个隐含的this指针,该指针指向调用该成员函数的实例对象。当成员函数使用对象中的非静态成员,它事实上是通过this指针来调用该成员的。class MyClass{ public: void seti (int newi){i=newi;}private: int I;};对编译器而言,成员函数seti的定义事原创 2010-05-22 23:29:00 · 433 阅读 · 0 评论 -
静态文本超链接编程暨CStaticLink类使用说明
静态文本超链接编程暨CStaticLink类使用说明********************************************************例子:在About对话框上实现如下图蓝色显示的两个静态文本超链接。编程步骤如下:1、 向工程项目中添加StatLink.cpp和StatLink.h文件。2、 在About对话框类中包含头文件#include "原创 2010-05-22 23:31:00 · 825 阅读 · 0 评论 -
探讨:内存对齐
主 题: 探讨:内存对齐作 者: typedef_chen ((名未定)(我要骗人))等 级: 信 誉 值: 100所属论坛: C/C++ C++ 语言问题点数: 50回复次数: 1发表时间: 2005-04-02 22:53:27 朋友帖了如下一段代码: #pragma pack(4) class TestB { public: int原创 2010-05-22 22:27:00 · 533 阅读 · 0 评论 -
浮动窗口的制作暨CSizingControlBar类的使用说明
浮动窗口的制作暨CSizingControlBar类的使用说明*********************************************************** 本文在实现过程中,为了方便起见,参照VC 知识库《轻松实现类VC界面》。一、实现原理图中右侧浮动窗口的实现类是从CControlBar派生出来的,我们并不需要从头到尾实现该类,因为Cristi Posea原创 2010-05-22 22:54:00 · 888 阅读 · 0 评论 -
工具栏的制作暨CtoolbarEx类和CCustomizeDialog类使用说明
工具栏的制作暨CtoolbarEx类和CCustomizeDialog类使用说明*************http://download1.csdn.net/down3/20070607/07151208144.doc**************************实现像IE浏览器工具栏按钮一样的外观效果,不但有按钮图标,而且可以显示文字。文字的位置有两种显示方式:图标下方和右边。自定原创 2010-05-22 23:32:00 · 848 阅读 · 0 评论 -
#pragma预处理指令略解
#pragma指令通常用于程序开发中设置编译器的状态和指示编译器完成某种特定的动作。一. message 参数。message 它能够在编译信息输出窗 口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为: #pragma message(“消息文本”) 当编译器遇到这条指令时就在编译输出窗口中将消息文本打印出来。 当我们在程序中定义了许多宏来控制源代码版本的时候,原创 2010-05-22 22:29:00 · 452 阅读 · 1 评论 -
VC TRACE宏
TRACE宏对于VC下程序调试来说是很有用的东西,有着类似printf的功能;该宏仅仅在程序的DEBUG版本中出现,当RELEASE的时候该宏就完全消息了,从而帮助你调式也在RELEASE的时候减少代码量。使用非常简单,格式如下:TRACE("DDDDDDDDDDD");TRACE("wewe%d",333);同样还存在TRACE0,TRACE1,TRACE2。。。分别对应0,1,原创 2010-05-22 22:42:00 · 426 阅读 · 0 评论 -
const使用详解
关于C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,现将本人的一些体会总结如下,期望对大家有所帮助: 一 const基础如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况: int b = 500;const int* a = &b; [1]int const *a = &b; [2]int* const a = &b;原创 2010-05-22 22:03:00 · 445 阅读 · 0 评论 -
获取当前系统版本
#define SYSTEM_VERSION_REG_KEY "SOFTWARE//Microsoft//Windows NT//CurrentVersion"#define SYSTEM_CURRENT_VER_VAR "CurrentVersion" HKEY hKey; LONG lRet = RegOpenKeyEx(HKEY_LOCAL_MACH原创 2010-05-26 20:35:00 · 675 阅读 · 2 评论 -
获取当前系统版本(2)
DWORD dwBufSize = MAX_PATH; //get value for product name UCHAR szAppPath[MAX_PATH] = {0}; if (ERROR_SUCCESS != RegQueryValueEx(hKey, SYSTEM_CURRENT_VER_VAR, NULL, NULL, szAppPath, &dwBufSize)) { R原创 2010-04-06 16:53:00 · 523 阅读 · 0 评论 -
删除文件, 可以删除只读文件
//FUN3:删除文件, 可以删除只读文件.bool MyDeleteFile(LPCTSTR lpFileName){ // 获取文件的当前属性; DWORD dwAttrs = GetFileAttributes(lpFileName); // 重新设置文件属性; if ((dwAttrs & FILE_ATTRIBUTE_READONLY) != 0)原创 2010-04-06 15:08:00 · 1118 阅读 · 0 评论 -
CollectConfg 源代码(三)
//write file name /filename CString fileName = find.GetFileName(); fileName = "//"+fileName; fileName += "/n"; fileSetConfg.WriteString(fileName); //write per_line of file CString c原创 2010-03-23 10:02:00 · 307 阅读 · 0 评论 -
SplitConfg 源代码 (三)
if (ConvertFileFormat(file,strTemBuf,strTemFile,UNIXFILEFLAG)) { CloseFilePointer(fleConfg); return 1; } strTemBuf = strBuf; pBuf = fleConfg.ReadString(buf,LINEMAX); strBuf = buf;原创 2010-03-23 18:43:00 · 351 阅读 · 0 评论 -
SplitConfg 源代码 (二)
const CString WINFILEFLAG = "##########dos/windows##########/n"; const CString UNIXFILEFLAG = "##########unix/linux##########/n"; int LINEMAX = 1024; char buf[1025] = {0}; memset(buf,0,LINEMAX+1); C原创 2010-03-23 18:40:00 · 378 阅读 · 0 评论 -
SplitConfg 源代码 (一)
//parameter verify if (argc != 3) { cout return 1; } /* AW8D00063 Modified by zhengguoying, 2010/3/23 END >*/ //the set-file which needed to be dealed CString strConFle = argv[1]; //the main pa原创 2010-03-23 18:39:00 · 410 阅读 · 0 评论 -
SplitConfg 源代码 (三)
else { cout CloseFilePointer(fleConfg); return 1; } } else { if (file.m_pStream != NULL) { file.WriteString(strBuf); } pBuf = fleConfg.ReadString(buf,LINEMAX); strBuf =原创 2010-03-23 18:44:00 · 503 阅读 · 1 评论 -
SplitConfg 源代码 (四)
void CloseFilePointer(CStdioFile& file){ if (file.m_pStream != NULL) { file.Close(); }}int ConvertFileFormat(CStdioFile& file,CString strTemBuf,CString strTemFile,const CString strFlag){ if (file原创 2010-03-23 18:47:00 · 396 阅读 · 0 评论 -
VC 实现文件夹属性的获取与更改
VC 实现文件夹属性的获取与更改 - VC引言: 对于大多数的IT企业和绝大多数的个人用户而言,数据的备份主要是对数据内容的简单备份,而很少涉及对备份数据自身属性如文件属性、所在文件夹的时间属性等内容的备份。而在某些对数据管理有着非常严格要求的特殊行业中,对以上这些相关属性信息的备份也是同等重要的。但是在目前的Windows操作系统下,不论是直接通过手工进行数据备份还是通过某些数据备份软件原创 2010-03-26 23:37:00 · 840 阅读 · 0 评论 -
在VC++下对文件属性的获取与更改
摘要:本文讲述了在Visual C++ 下编程实现对磁盘文件的属性进行获取以及更改的一般方法,并给出部分相关的关键代码。 一、 引言 文件是数据在磁盘上最常用的一种存放形式,也是在程序设计中与之经常打交道的一种编程对象,不少程序尤其是数据传输和处理类的应用程序更是需要频繁的创建、读取和写入文件。对于一些要求不是很严格的程序,我们往往只关心文件的内容是否正确、文件大小是否有增减或是再严格一些,原创 2010-03-26 23:48:00 · 712 阅读 · 1 评论 -
编写驱动拦截NT的API实现隐藏文件目录
目前NT下有很多种隐藏文件和目录的方法,其中最简单的一种是给文件和文件夹加上系统属性和隐藏属性,操作系统就会不在显示了,而且查找也找不到了,但是这种方法一点都不彻底,没有可用性!下面我们来介绍用NT驱动程序来拦截NTAPI来实现彻底隐藏文件和目录的目的。NT下有一个文件NTDLL.DLL,大部分NTAPI都是在这个库中封装的。其中实现查找文件和目录的API接口是ZwQueryDirectoryFi原创 2010-03-27 00:50:00 · 936 阅读 · 0 评论 -
vc 按行读取文件DEMO收集
//第一种 FileStream *fs; if( openFileDialog1->ShowDialog() == DialogResult::OK ) { fs = new FileStream(openFileDialog1->FileName, FileMode::Open); StreamReader原创 2010-03-27 00:59:00 · 1471 阅读 · 0 评论 -
获取当前系统版本(3)
//if value is 6.0, system is window vista else if (6 == szAppPath[0] && 0 == szAppPath[2]) { version = WINDOWS_SYSTEM_VER_VISTA32; } //if value is max than 6.0, now system is window vista //if v原创 2010-04-06 16:54:00 · 457 阅读 · 0 评论 -
判断当前盘符是否存在
/* FUN8:判断当前盘符是否存在 */BOOL CheckDiskExist(LPCTSTR lpDisk){ TCHAR szDrvMsg[] = "A:"; ULONG uDriveMask = _getdrives(); if (uDriveMask != 0) { while (uDriveMask) { if (uDriveMask & 1) { if (m原创 2010-04-06 18:12:00 · 2664 阅读 · 0 评论 -
COM与数据库访问
第2章 COM与数据库访问2.1 COM的基本原理COM即组件对象模型,是一种以组件为发布单元的对象模型,这种模型使各种软件组件可以通过一种通用的方式进行交互。COM既提供了组件之间进行交互的规范,也提供了实现交互的环境,因为组件对象之间交互的规范不依赖于任何特定的语转载 2011-08-10 15:04:36 · 1531 阅读 · 0 评论