- 博客(36)
- 资源 (1)
- 收藏
- 关注
原创 隐藏api的磁盘数据移动程序
#ifndef BITMAP_H#define BITMAP_H#define _WIN32_WINNT 0x600#include "windows.h"#include "winioctl.h"#include #include using namespace std;class BitMap{public: void getMapList(const VOLUME_BITMAP_BUF
2007-05-31 10:56:00 1673
原创 设置文件的size
// 设置文件的size.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "windows.h"#include using namespace std;int main(){ LONG liNewPointer = 0; DWORD dwRet = 0; DWORD dwStPg = SetPrivilege(SE_M
2007-05-31 10:46:00 1482
转载 堆和栈的区别
堆和栈的区别一、预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)
2007-05-30 13:31:00 739
原创 异步IO测时
异步IO写在追加文件的时候,基本上属于同步速度执行,writefile立即返回是个随机事件 解决方法,先把文件设置为目的大小,然后写入各块数据 一般处理方法:先设置成各大尺寸的文件,填入数据设置文件结尾即可以okokok // 异步IO测时.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "windows.h"#include #include
2007-05-30 11:08:00 725
原创 类的const static成员
class A{private: const static string str = "okokok"; //error C2864: A::str : only static const integral data members can be initialized within a class};const string A::str;class B{private:
2007-05-29 10:00:00 852
转载 恺撒加密例程
#include #include char encrypt(char ch,int n)/*加密函数,把字符向右循环移位n*/ { while(ch>=A&&ch { return (A+(ch-A+n)%26); } while(ch>=a&&ch { return (a+(ch-a+n)%26); } return ch; } vo
2007-05-28 15:59:00 835
转载 格式化的源码
这个问题比较老了,而且试验起来有一定的危险性,你学习的重点也不应该是这方面了,国内这方面有两本经典图书,一本是Dos大全,介绍了所有的中断,一本是将磁盘加密技术的书。 我原来为研究磁盘加密写过类似的程序,但很简单,全部是C的,是直接调中断进行操作。原代码很长,是一个类似PC Tools的工具。我找出一部分给你。 void Format(void)
2007-05-25 16:37:00 1070
转载 磁盘文件的正常读写与异步读写
磁盘文件的正常读写与异步读写 □qiruwa 发表于 2007-4-16 17:03:00 在Win32系统下文件可以支持平常的同步读写和异步读写(但在Win9X下,Win32系统不支持磁盘文件的异步读写)。本节在后面部分将会介绍文件的异步读写,最后一段内容将向大家讲解一下文件的区域加锁。 在Win32系统中支持64位长度的文件,所以在很多文件操作函数中需要两个DWORD参数来表示文件长度,一个D
2007-05-24 15:39:00 7980 3
转载 出现在 WindowsNT、 Windows 2000, 和 WindowsXP, 同步异步磁盘 I/O
if (self.name == "MNPMainFrame") top.location.href = self.location.href;
2007-05-24 15:16:00 1690
转载 Windows系统编程之异步I/O和完成端口
标 题: Windows系统编程之异步I/O和完成端口 作 者: 北极星2003 时 间: 2006-07-02 18:46 链 接: http://bbs.pediy.com/showthread.php?threadid=28342 详细信息: Windows系统编程之异步I/O和完成端口 【作者】北极星2003 【来源】看雪技术论坛(bbs.pediy.
2007-05-24 15:13:00 857
原创 范型算法与模板参数推演
如下程序int main(){ list strList; list::iterator element; strList
2007-05-23 14:15:00 1121
原创 动态分配二位数组
new操作符:在堆上申请一段内存,返回这段内存的首地址你想给个二维数组动态分配内存,由于它在内存中仍然是顺序排列的,所以可以以一维数组的形式分配内存,维数 = 行数 * 列数至于直接分配不能执行的原因在于,你new一个二维数组,那么它的返回类型是什么呢,是一个指向一维数组的指针,而指向数组的指针类型,是包涵维数信息的,这个维数需const量表示给你一个例子说明int main(){ int
2007-05-23 13:38:00 1834 1
原创 数组的指针和引用的写法
指向数组的指针写法:1。数组类型是包括维数信息的2。int (*p1)[3]和int (*p2)[10]是两个不同的指针类型,一个可以指向int[3]类型的数组,一个可以指向int[10]类型的数组int main(){ int arr[3]; int (*ptr)[3] = &arr;// int **ptr2 = &arr; //err : cannot convert
2007-05-23 12:00:00 1578
转载 指针地址数组
? 数组是指针的基础,多数人就是从数组的学习开始指针的旅 程的。下面我节选一些在各种论坛和文章里经常见到的关于数组的文字: “一维数组是一级指针” “二维数组是二级指针” “数组名可以作为指针使用” “数组名就是..........的常量指针” “数组名就是..........的指针常量” .................................. 这些文字看起来非常熟悉吧?类
2007-05-22 14:59:00 869
原创 函数指针作函数参数的简易例程
int add(int a, int b){ return a + b;}typedef int (*PTRADD)(int, int);int newAdd(int a, int b, PTRADD p){ return p(a, b); }int main(){ PTRADD p = add; int sum = newAdd(3, 3, p); cout
2007-05-22 09:26:00 727
转载 一些字符串数的转换的函数
函数名称: strtol函数原型: long strtol(const char *s,char **endptr,int radix)函数功能: 将数值字符串转换成长整形格式数函数返回: 长整形转换结果参数说明: s-待转换的浮点字符串,radix-转换的数制,endptr-转换后的尾数字符串所属文件: #include #include int
2007-05-22 09:19:00 678
原创 回掉函数线程函数的全局性质
回掉函数和线程函数具有全局函数的性质,所以并不能是类的成员函数(非静态的),这一点可以从编译器的内部名字改编理解,对于重载函数和类的成员函数编译器进行名字改编,前者加入参数信息,const信息后者加入一this指针所以与那全局的回掉函数和线程函数在编译器内部名字上不相同了所以static成员函数由于不属于任何一个实例对象,不存在个this指针在编译内部名字所以可以执行callback函数,只能传一
2007-05-21 09:27:00 909
原创 内存映射文件
// 内存映射文件.cpp : Defines the entry point for the application.//#include "stdafx.h"int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lp
2007-05-18 14:04:00 673
转载 深层揭密extern "C"
深层揭密extern "C" extern "C" 包含双重含义,从字面上即可得到:首先,被它修饰的目标是“extern”的;其次,被它修饰的目标是“C”的。让我们来详细解读这两重含义。 被extern "C"限定的函数或变量是extern类型的; extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。
2007-05-18 13:05:00 549
原创 成员初始化列表
一。首先把数据成员按类型分类1。内置数据类型,复合类型(指针,引用)2。用户定义类型(类类型)分情况说明:对于类型1,在成员初始化列表和构造函数体内进行,在性能和结果上都是一样的对于类型2,结果上相同,但是性能上存在很大的差别因 为类类型的数据成员对象在进入函数体是已经构造完成,也就是说在成员初始化列表处进行构造对象的工作,这是调用一个构造函数,在进入函数体之后,进行的是 对已经构造好的类对象的赋
2007-05-18 09:41:00 671
原创 类成员函数本质论
请提出以下程序运行的结果.并说明为什么#includeusing namespace std;class A{public:void dis(){cout};int main(){A *p;{A a;p=&a;}p->dis();return 1;}===================1。这个显示什么不能定的a对象已经出了生存期,在}的地方析构,后面p指向一个无效内存区域调用dis显示随机内容从
2007-05-18 09:34:00 662
转载 密码函数
密码函数#include #include #include #define BACKSPACE 8char *get_password(const char *prompt){ static char buffer[128]; int i = 0; char letter=NULL; printf( prompt ); // 最多可输入127
2007-05-15 11:06:00 729
转载 深入浅出 CPropertySheet
::首页 >> 文档中心 >> 在线杂志 >> 属性页 [ 在线杂志 第15期 ] <!--google_ad_clie
2007-05-09 10:40:00 1065
转载 用VC++创建自定义向导程序
::首页 >> 文档中心 >> 在线杂志 >> 属性页 [ 在线杂志 第13期 ] <!--google_ad_clie
2007-05-09 10:36:00 1526
原创 属性页的自动切换功能
1。((CPpgSheet *)AfxGetMainWnd()) -> SetActivePage(4); 2.((CPpgSheet *)GetParent()) -> SetActivePage(4); 2。SetActivePage(GetActiveIndex()++); 3。CPropertySheet::PressButton(PSBTN_NEXT);UIN
2007-05-07 10:58:00 748
转载 开启一个线程,在线程中来控制Progress的进度
在对话框的一个成员函数里开启一个线程,在线程中来控制Progress的进度CMyDlg::StartProgress(){m_bRunProgress = TRUE;m_ProgressBar.SetRange(...);//统计文件的大小来设置进度的显示范围AfxBeginThread(Progress,(LPVOID*)this,THREAD_PRIORITY_NORMAL);}CMyDlg:
2007-05-06 16:22:00 986
转载 VC多线程编程(转)
VC多线程编程(转)VC中多线程使用比较广泛而且实用,在网上看到的教程.感觉写的挺好. 一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下: void C
2007-05-06 16:18:00 2117 1
转载 进度条控制
进度条控制(Progress Control)主要用来进行数据读写、文件拷贝和磁盘格式等操作时的工作进度提示情况,如安装程序等,伴随工作进度的进展,进度条的矩形区域从左到右利用当前活动窗口标题条的颜色来不断填充。 进度条控制在MFC类库中的封装类为CProgressCtrl,通常仅作为输出类控制,所以其操作主要是设置进度条的范围和当前位置,并不断地更新当前位置。进度条的范围用来表示整个操作过程
2007-05-06 16:10:00 1488
原创 CListCtrl的基本用法
BOOL CPage2::OnInitDialog(){ CDialog::OnInitDialog(); BOOL bImageOk = FALSE; //init function code DWORD dwStyle = m_lstCtl.GetExtendedStyle(); dwStyle |= LVS_EX_FULLROWSELECT; m_lstCtl.SetExtend
2007-05-04 20:57:00 664
原创 获取硬盘信息
#ifndef DISKINFORMATION_H#define DISKINFORMATION_H#include "stdafx.h"#include #include #include #include #include #include #include #include #include #include "const.h"using namespace std;namespace NX
2007-05-03 19:21:00 1798
转载 硬件检测方面
1. 检测CPU的型号 先让我们从最简单的做起,看一看自己的CPU型号。首先,在C++ Builder中画 出图1所示的窗体,在下面的几个例子中我们将一直使用这个窗体作示范,它包括一个用 来激活测试的Button和一个用来显示结果的Memo。我们可以用GetSystemInfo这个API获 得CPU的型号。将下列代码添加到Button的Click事件里就可以
2007-05-03 18:28:00 846
转载 实战DeviceIoControl 之三:制作磁盘镜像文件
实战DeviceIoControl 之三:制作磁盘镜像文件 Q DOS命令DISKCOPY给我很深的印象,现在也有许多“克隆”软件,可以对磁盘进行全盘复制。我想,要制作磁盘镜像文件,DeviceIoControl应该很
2007-05-02 22:46:00 746
转载 实战DeviceIoControl 之二:获取软盘/硬盘/光盘的参数
实战DeviceIoControl 之二:获取软盘/硬盘/光盘的参数 Q 在MSDN的那个demo中,将设备名换成“A:”取A盘参数,先用资源管理器读一下盘,再运行这个程序可以成功,但换一张盘后就失败;换成“CDROM
2007-05-02 22:45:00 838
转载 实战DeviceIoControl 之一:通过API访问设备驱动程序
实战DeviceIoControl 之一:通过API访问设备驱动程序 Q 在NT/2000/XP中,我想用VC编写应用程序访问硬件设备,如获取磁盘参数、读写绝对扇区数据、测试光驱实际速度等,该从哪里入手呢? A 在NT
2007-05-02 22:43:00 956
转载 C++通过WIN32 API获取逻辑磁盘详细信息
C++通过WIN32 API获取逻辑磁盘详细信息 来源: STCore 收集整理 发布日期:2006-08-03 进入论坛 <!--google_ad_client = "pub-6551280850971439";google_ad_width = 336;go
2007-05-02 17:50:00 875
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人