请问C++Biulder能开发Web页吗?我用Internet工具栏做的“web页”只能显示在应用程序的窗体中,能否把它单独存为HTML文件?

zfming 2000-01-16 04:44:00
...全文
118 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
skyxu 2000-01-16
  • 打赏
  • 举报
回复
我想应该不会吧!
这些变成环境大概是让你编写一些cgi程序啊,或者什么与web有关的程序吧!
kxy 2000-01-16
  • 打赏
  • 举报
回复
当然可以,不过不是用Internet工具栏,他的控件是访问web使用的.
你要作的是new application时,不要创建一般的application,
而要new一个web server,可以选择ISAPI和CGI.
ISAPI生成一个dll,CGI生成exe.他们都要在服务器端执行.
流程是这样,IE5发一个URL->www server, www server接受命令,执行你的dll或
exe生成html页在发给IE5显示.
www.midatech.com/jiangtao下有 delphi 高级开发指南的配书源码,其中有
例子.
CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 该资料是《Visual C++ 2005入门经典》的源代码及课后练习答案 对应的书籍资料见: Visual C++ 2005入门经典 基本信息 原书名: Ivor Horton's Beginning Visual C++ 2005 原出版社: Wiley 作者: (美)Ivor Horton 译者: 李颂华 康会光 出版社:清华大学出版社 ISBN:9787302142713 上架时间:2007-2-12 出版日期:2007 年1月 开本:16开 码:1046 版次:1-1 编辑推荐   本书由编程语言先驱者Ivor Horton倾力而著,是国内第一本全面、深入介绍Visual C++ 2005的经典之作! 内容简介   本书系编程语言先驱者Ivor Horton的经典之作,是学习C++编程最畅销的图书品种之一,不仅涵盖了Visual C++ .NET编程知识,还全面介绍了标准C++语言和.NET C++/CLI。本书延续了Ivor Horton讲解编程语言的独特方法,从读者可以学习Visual C++ 2005的基础知识,并全面掌握在MFC和Windows Forms访问数据源的技术。此外,本书各章后面的习题将有助于读者温故而知新,并尽快成为C++高效程序员。...    作译者   Ivor Horton是世界著名的计算机图书作家,主要从事与编程相关的顾问及撰写工作,曾帮助无数程序员步入编程的殿堂。他曾在IBM工作多年,能使用多种语言进行编程(在多种机器上使用汇编语言和高级语言),设计和实现了实时闭环工业控制系统。Horton拥有丰富的教学经验(教学内容包括C、C++、Fortran、PL/1、APL等),同时还是机械、加工和电子CAD系统、机械CAM系统和DNC/CNC系统方面的专家。Ivor Horton还著有Beginning Visual C++ 6、Beginning C Programming和Beginning Java 2等多部入门级好书。 目录 封面 -18 前言 -14 目录 -9 第1章 使用Visual C++ 2005编程 1 1.1 .NET Framework 1 1.2 CLR 2 1.3 编写C++应用程序 3 1.4 学习Windows编程 4 1.4.1 学习C++ 4 1.4.2 C++标准 5 1.4.3 控制台应用程序 5 1.4.4 Windows编程概念 6 1.5 集成开发环境简介 7 1.6 使用IDE 9 1.6.1 工具栏选项 9 1.6.2 可停靠的工具栏 10 1.6.3 文档 11 1.6.4 项目和解决方案 11 1.6.5 设置Visual C++ 2005的选项 23 1.6.6 创建和执行Windows应用程序 24 1.6.7 创建Windows Forms应用程序 26 1.7 小结 29 第2章 数据、变量和计算 31 2.1 C++程序结构 31 2.1.1 程序注释 36 2.1.2 #include指令——头文件 37 2.1.3 命名空间和using声明 37 2.1.4 main()函数 38 2.1.5 程序语句 38 2.1.6 空白 40 2.1.7 语句块 41 2.1.8 自动生成的控制台程序 41 2.2 定义变量 42 2.2.1 命名变量 43 2.2.2 C++的关键字 43 2.2.3 声明变量 44 2.2.4 变量的初值 44 2.3 基本数据类型 45 2.3.1 整型变量 45 2.3.2 字符数据类型 46 2.3.3 整型修饰符 47 2.3.4 布尔类型 48 2.3.5 浮点类型 48 2.3.6 ISO/ANSI C++的基本类型 49 2.3.7 字面值 50 2.3.8 定义数据类型的同义词 50 2.3.9 具有特定值集的变量 51 2.3.10 指定枚举常量的类型 52 2.4 基本的输入/输出操作 53 2.4.1 从键盘输入 53 2.4.2 到命令行的输出 53 2.4.3 格式化输出 54 2.4.4 转义序列 55 2.5 C++的计算 57 2.5.1 赋值语句 57 2.5.2 算术运算 58 2.5.3 计算余数 63 2.5.4 修改变量 63 2.5.5 增量和减量运算符 64 2.5.6 计算
CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 该资料是《Visual C++ 2010入门经典(第5版)》的源代码及课后练习答案 对应的书籍资料见: Visual C++ 2010入门经典(第5版) 基本信息 原书名: Ivor Horton's Beginning Visual C++ 2010 原出版社: Wrox 作者: (美)Ivor Horton 译者: 苏正泉 李文娟 出版社:清华大学出版社 ISBN:9787302239994 上架时间:2010-12-20 出版日期:2010 年12月 开本:16开 码:1011 版次:5-1 编辑推荐   本书针对visual c++ 2010版本了全面更新,介绍了最新开发环境,讲述了如何使用visual c++构建真实世界的应用程序。    采用了容易理解的讲授方法,并提供了详尽的示例,旨在帮助读者掌握编程技巧 内容简介   作者ivor horton采用了容易理解的讲授方法,并提供了详尽的示例,帮助读者迅速地成为一名优秀的c++编程人员。《visual c++ 2010入门经典(第5版)》针对visual c++ 2010版本进行了全面更新,介绍了最新的开发环境和如何使用visual c++构建现实世界应用程序。拥有本书,您就迈向了通往使用两种c++版本编写应用程序的成功之路,并成为一名优秀的c++编程人员。    主要内容    ·使用visual c++ 2010支持的两种c++语言技术讲述c++编程的基础知识    ·分享c++程序的错误查找技术,并介绍通用的调试原则讨论每一个windows应用程序的结构和基本元素    ·举例说明如何使用mfc开发本地windows应用程序    ·指导读者用c++c++/cli设计和创建大量的windows应用程序    ·为帮助读者掌握编程技巧,提供了大量可运行的示例和练习 作译者   Ivor Horton是撰著Java、C和C++编程语言图书的杰出作家之一。大家一致认为,他的著作独具风格,无论是编程新手,还是经验丰富的编程人员,都很容易理解其内容。在个人实践,Ivor Horton也是一名系统顾问。他从事程序设计教学工作已经超过了25年。   苏正泉,1995年毕业于解放军信息工程学院计算机及应用专业,高级工程师。在IT项目管理、软件开发、系统管理和网络管理方面都有非常丰富的实践经验。曾发表过多篇计算机专业论文,并翻译过多部计算机专业技术书籍。   李文娟,国石油大学(华东)硕士,现供职于国家行政学院,工作后一直从事软件开发和软件项目管理工作,对计算机语言、计算机体系结构、操作系统都非常熟悉,尤其是精通C和C++编程技术. 目录 封面 -19 封底 -18 扉 -17 版权 -16 前言 -15 目录 -10 第1章 使用Visual C++ 2010编程 1 1.1 .NET Framework 1 1.2 CLR 2 1.3 编写C++应用程序 3 1.4 学习Windows编程 4 1.4.1 学习C++ 4 1.4.2 C++标准 5 1.4.3 属性 5 1.4.4 控制台应用程序 5 1.4.5 Windows编程概念 6 1.5 集成开发环境简介 7 1.5.1 编辑器 8 1.5.2 编译器 8 1.5.3 链接器 8 1.5.4 库 8 1.6 使用IDE 8 1.6.1 工具栏选项 9 1.6.2 可停靠的工具栏 10 1.6.3 文档 11 1.6.4 项目和解决方案 11 1.6.5 设置Visual C++ 2010的选项 23 1.6.6 创建和执行Windows应用程序 23 1.6.7 创建Windows Forms应用程序 26 1.7 小结 27 1.8 本章主要内容 28 第2章 数据、变量和计算 29 2.1 C++程序结构 29 2.1.1 main()函数 36 2.1.2 程序语句 36 2.1.3 空白 38 2.1.4 语句块 38 2.1.5 自动生成的控制台程序 39 2.2 定义变量 40 2.2.1 命名变量 40 2.2.2 声明变量 41 2.2.3 变量的初始值 42 2.3 基本数据类型 42 2.3.1 整型变量 43 2.3.2 字符数据类型 44 2.3.3 整型修饰符 45 2.3.4 布尔类型 46 2.3.5 浮点类型 46 2.3.6 字面值 47 2.3.7 定义数据类型的同义词 48 2.3.8 具有特定值集的变量 49 2.4 基本的输入/输出操作 50 2.4.1 从键盘输入 50 2.4.2 到命令行的输出 50 2.4.3 格式化输出 51 2.4.4 转义序列 52 2.5 C++的计算 54 2.5.1 赋值语句 54 2.5.2 算术运算 55 2.5.3 计算余数 59 2.5.4 修改变量 60 2.5.5 增量和减量运算符 60 2.5.6 计算的顺序 63 2.6 类型转换和类型强制转换 64 2.6.1 赋值语句的类型转换 65 2.6.2 显式类型转换 65 2.6.3 老式的类型强制转换 66 2.7 AUTO关键字 66 2.8 查看类型 67 2.9 按位运算符 67 2.9.1 按位AND运算符 68 2.9.2 按位OR运算符 69 2.9.3 按位EOR运算符 71 2.9.4 按位NOT运算符 71 2.9.5 移位运算符 71 2.10 lvalue和rvalue 73 2.11 了解存储时间和作用域 74 2.11.1 自动变量 74 2.11.2 决定变量声明的位置 76 2.11.3 全局变量 77 2.11.4 静态变量 80 2.12 名称空间 80 2.12.1 声明名称空间 81 2.12.2 多个名称空间 82 2.13 C++/CLI编程 84 2.13.1 C++/CLI特有的基本数据类型 84 2.13.2 命令行上的C++/CLI输出 87 2.13.3 C++/CLI特有的功能—— 格式化输出 88 2.13.4 C++/CLI的键盘输入 91 2.13.5 使用safe_cast 92 2.13.6 C++/CLI枚举 92 2.14 查看C++/CLI类型 96 2.15 小结 97 2.16 练习 97 2.17 本章主要内容 98 第3章 判断和循环 101 3.1 比较数据值 101 3.1.1 if语句 102 3.1.2 嵌套的if语句 104 3.1.3 嵌套的if-else语句 107 3.1.4 逻辑运算符和表达式 109 3.1.5 条件运算符 112 3.1.6 switch语句 113 3.1.7 无条件转移 116 3.2 重复执行语句块 117 3.2.1 循环的概念 117 3.2.2 for循环的变体 119 3.2.3 while循环 126 3.2.4 do-while循环 128 3.2.5 嵌套的循环 129 3.3 C++/CLI编程 132 3.4 小结 137 3.5 练习 138 3.6 本章主要内容 138 第4章 数组、字符串和指针 139 4.1 处理多个相同类型的数据值 139 4.1.1 数组 140 4.1.2 声明数组 140 4.1.3 初始化数组 143 4.1.4 字符数组和字符串处理 144 4.1.5 多维数组 147 4.2 间接数据访问 150 4.2.1 指针的概念 150 4.2.2 声明指针 150 4.2.3 使用指针 152 4.2.4 初始化指针 152 4.2.5 sizeof操作符 158 4.2.6 常量指针和指向常量的指针 159 4.2.7 指针和数组 161 4.3 动态内存分配 168 4.3.1 堆的别名—— 空闲存储器 168 4.3.2 new和delete操作符 168 4.3.3 为数组动态分配内存 169 4.3.4 多维数组的动态分配 171 4.4 使用引用 172 4.4.1 引用的概念 172 4.4.2 声明并初始化lvalue引用 172 4.4.3 声明并初始化rvalue引用 173 4.5 字符串的本地C++库函数 174 4.5.1 查找以空字符结尾的字符串的长度 174 4.5.2 连接以空字符结尾的字符串 174 4.5.3 复制以空字符结尾的字符串 176 4.5.4 比较以空字符结尾的字符串 177 4.5.5 搜索以空字符结尾的字符串 177 4.6 C++/CLI编程 179 4.6.1 跟踪句柄 180 4.6.2 CLR数组 181 4.6.3 字符串 195 4.6.4 跟踪引用 203 4.6.5 内部指针 204 4.7 小结 206 4.8 练习 206 4.9 本章主要内容 207 第5章 程序结构(1) 209 5.1 理解函数 209 5.1.1 需要函数的原因 210 5.1.2 函数的结构 210 5.1.3 使用函数 213 5.2 给函数传递实参 216 5.2.1 按值传递机制 216 5.2.2 给函数传递指针实参 217 5.2.3 给函数传递数组 219 5.2.4 给函数传递引用实参 222 5.2.5 使用const修饰符 224 5.2.6 rvalue引用形参 225 5.2.7 main()函数的实参 227 5.2.8 接受数量不定的函数实参 229 5.3 从函数返回值 231 5.3.1 返回指针 231 5.3.2 返回引用 233 5.3.3 函数的静态变量 236 5.4 递归函数调用 238 5.5 C++/CLI编程 240 5.5.1 接受数量可变实参的函数 241 5.5.2 main( )的实参 242 5.6 小结 243 5.7 练习 243 5.8 本章主要内容 244 第6章 程序结构(2) 245 6.1 函数指针 245 6.1.1 声明函数指针 246 6.1.2 函数指针作为实参 249 6.1.3 函数指针的数组 250 6.2 初始化函数形参 250 6.3 异常 252 6.3.1 抛出异常 253 6.3.2 捕获异常 254 6.3.3 MFC的异常处理 255 6.4 处理内存分配错误 256 6.5 函数重载 257 6.5.1 函数重载的概念 258 6.5.2 引用类型和重载选择 260 6.5.3 何时重载函数 260 6.6 函数模板 261 6.7 使用decltype操作符 263 6.8 使用函数的示例 265 6.8.1 实现计算器 265 6.8.2 从字符串删除空格 268 6.8.3 计算表达式的值 268 6.8.4 获得项值 270 6.8.5 分析数 271 6.8.6 整合程序 274 6.8.7 扩展程序 275 6.8.8 提取子字符串 277 6.8.9 运行修改过的程序 279 6.9 C++/CLI编程 279 6.9.1 理解泛型函数 280 6.9.2 CLR版本的计算器程序 285 6.10 小结 290 6.11 练习 291 6.12 本章主要内容 292 第7章 自定义数据类型 293 7.1 C++的结构 293 7.1.1 结构的概念 294 7.1.2 定义结构 294 7.1.3 初始化结构 294 7.1.4 访问结构的成员 295 7.1.5 伴随结构的智能感知帮助 298 7.1.6 RECT结构 299 7.1.7 使用指针处理结构 300 7.2 数据类型、对象、类和实例 301 7.2.1 类的起源 303 7.2.2 类的操作 303 7.2.3 术语 303 7.3 理解类 304 7.3.1 定义类 304 7.3.2 声明类的对象 305 7.3.3 访问类的数据成员 305 7.3.4 类的成员函数 307 7.3.5 成员函数定义的位置 309 7.3.6 内联函数 309 7.4 类构造函数 310 7.4.1 构造函数的概念 311 7.4.2 默认的构造函数 312 7.4.3 在类定义指定默认的形参值 314 7.4.4 在构造函数使用初始化列表 316 7.4.5 声明显式的构造函数 317 7.5 类的私有成员 318 7.5.1 访问私有类成员 320 7.5.2 类的友元函数 321 7.5.3 默认复制构造函数 323 7.6 this指针 325 7.7 类的const对象 327 7.7.1 类的const成员函数 327 7.7.2 类外部的成员函数定义 328 7.8 类对象的数组 329 7.9 类的静态成员 331 7.9.1 类的静态数据成员 331 7.9.2 类的静态函数成员 334 7.10 类对象的指针和引用 334 7.10.1 类对象的指针 334 7.10.2 类对象的引用 337 7.11 C++/CLI编程 338 7.11.1 定义值类类型 339 7.11.2 定义引用类类型 344 7.11.3 定义引用类类型的复制构造函数 346 7.11.4 类属性 346 7.11.5 initonly字段 358 7.11.6 静态构造函数 360 7.12 小结 360 7.13 练习 360 7.14 本章主要内容 361 第8章 深入理解类 363 8.1 类析构函数 363 8.1.1 析构函数的概念 363 8.1.2 默认的析构函数 364 8.1.3 析构函数与动态内存分配 366 8.2 实现复制构造函数 369 8.3 在变量之间共享内存 370 8.3.1 定义联合 371 8.3.2 匿名联合 372 8.3.3 类和结构的联合 372 8.4 运算符重载 373 8.4.1 实现重载的运算符 373 8.4.2 实现对比较运算符的完全支持 376 8.4.3 重载赋值运算符 379 8.4.4 重载加法运算符 384 8.4.5 重载递增和递减运算符 387 8.4.6 重载函数调用操作符 388 8.5 对象复制问题 389 8.5.1 避免不必要的复制操作 389 8.5.2 应用rvalue引用形参 392 8.5.3 命名的对象是lvalue 394 8.6 类模板 399 8.6.1 定义类模板 400 8.6.2 根据类模板创建对象 402 8.6.3 使用有多个形参的类模板 405 8.6.4 函数对象模板 406 8.7 使用类 407 8.7.1 类接口的概念 407 8.7.2 定义问题 407 8.7.3 实现CBox类 408 8.8 组织程序代码 425 8.9 字符串的本地C++库类 427 8.9.1 创建字符串对象 427 8.9.2 连接字符串 429 8.9.3 访问与修改字符串 432 8.9.4 比较字符串 436 8.9.5 搜索字符串 439 8.10 C++/CLI编程 447 8.10.1 在值类重载运算符 447 8.10.2 重载递增和递减运算符 452 8.10.3 在引用类重载运算符 453 8.10.4 实现引用类型的赋值运算符 455 8.11 小结 456 8.12 练习 456 8.13 本章主要内容 457 第9章 类继承和虚函数 459 9.1 面向对象编程的基本思想 459 9.2 类的继承 460 9.2.1 基类的概念 461 9.2.2 基类的派生类 461 9.3 继承机制下的访问控制 464 9.3.1 派生类构造函数的操作 467 9.3.2 声明类的保护成员 470 9.3.3 继承类成员的访问级别 473 9.4 派生类的复制构造函数 474 9.5 友元类成员 477 9.5.1 友元类 479 9.5.2 对类友元关系的限制 479 9.6 虚函数 479 9.6.1 虚函数的概念 481 9.6.2 使用指向类对象的指针 483 9.6.3 使用引用处理虚函数 485 9.6.4 纯虚函数 486 9.6.5 抽象类 487 9.6.6 间接基类 489 9.6.7 虚析构函数 491 9.7 类类型之间的强制转换 494 9.8 嵌套类 495 9.9 C++/CLI编程 498 9.9.1 装箱与拆箱 499 9.9.2 C++/CLI类的继承 499 9.9.3 接口类 505 9.9.4 定义接口类 505 9.9.5 类和程序集 509 9.9.6 被指定为new的函数 513 9.9.7 委托和事件 514 9.9.8 引用类的析构函数和终结器 525 9.9.9 泛型类 527 9.10 小结 536 9.11 练习 536 9.12 本章主要内容 539 第10章 标准模板库 541 10.1 标准模板库的定义 541 10.1.1 容器 542 10.1.2 容器适配器 542 10.1.3 迭代器 543 10.1.4 算法 544 10.1.5 STL的函数对象 545 10.1.6 函数适配器 545 10.2 STL容器范围 545 10.3 序列容器 545 10.3.1 创建矢量容器 546 10.3.2 矢量容器的容量和大小 549 10.3.3 访问矢量的元素 553 10.3.4 在矢量插入和删除元素 553 10.3.5 在矢量存储类对象 555 10.3.6 排序矢量元素 559 10.3.7 排序矢量的指针 560 10.3.8 双端队列容器 562 10.3.9 使用列表容器 565 10.3.10 使用其他序列容器 574 10.4 关联容器 588 10.4.1 使用映射容器 589 10.4.2 使用多重映射容器 600 10.5 关于迭代器的更多内容 600 10.5.1 使用输入流迭代器 601 10.5.2 使用插入迭代器 604 10.5.3 使用输出流迭代器 605 10.6 关于函数对象的更多内容 607 10.7 关于算法的更多内容 608 10.7.1 fill() 608 10.7.2 replace() 609 10.7.3 find() 609 10.7.4 transform() 610 10.8 lambda表达式 611 10.8.1 capture子句 612 10.8.2 捕获特定的变量 613 10.8.3 模板和lambda表达式 613 10.8.4 包装lambda表达式 617 10.9 C++/CLI程序的STL 618 10.9.1 STL/CLR容器 619 10.9.2 使用序列容器 619 10.9.3 使用关联容器 627 10.10 C++/CLI的lambda表达式 633 10.11 小结 633 10.12 练习 633 10.13 本章主要内容 634 第11章 调试技术 635 11.1 理解调试 635 11.1.1 程序故障 636 11.1.2 常见故障 637 11.2 基本的调试操作 638 11.2.1 设置断点 639 11.2.2 设置跟踪点 641 11.2.3 启动调试模式 641 11.2.4 修改变量的值 645 11.3 添加调试代码 645 11.3.1 使用断言 645 11.3.2 添加自己的调试代码 647 11.4 调试程序 652 11.4.1 调用栈 652 11.4.2 单步执行到出错位置 653 11.5 测试扩展的类 656 11.6 调试动态内存 659 11.6.1 检查空闲存储器的函数 660 11.6.2 控制空闲存储器的调试操作 661 11.6.3 空闲存储器的调试输出 662 11.7 调试C++/CLI程序 668 11.7.1 使用调试类Debug和跟踪类Trace 668 11.7.2 在Windows Forms应用程序获得跟踪输出 676 11.8 小结 677 11.9 本章主要内容 677 第12章 Windows编程的概念 679 12.1 Windows编程基础 679 12.1.1 窗口的元素 680 12.1.2 Windows程序与操作系统 681 12.1.3 事件驱动型程序 682 12.1.4 Windows消息 682 12.1.5 Windows API 682 12.1.6 Windows数据类型 683 12.1.7 Windows程序的符号 684 12.2 Windows程序的结构 685 12.2.1 WinMain()函数 686 12.2.2 消息处理函数 696 12.2.3 简单的Windows程序 700 12.3 Windows程序的组织 701 12.4 MFC 702 12.4.1 MFC表示法 702 12.4.2 MFC程序的组织方式 702 12.5 使用Windows Forms 706 12.6 小结 707 12.7 本章主要内容 707 第13章 多核编程 709 13.1 并行处理基本知识 709 13.2 并行模式库 710 13.3 并行处理算法 710 13.3.1 使用parallel_for算法 710 13.3.2 使用parallel_for_each算法 712 13.3.3 使用parallel_invoke算法 714 13.4 真正的并行问题 715 13.5 临界区 728 13.5.1 使用critical_section对象 728 13.5.2 锁定代码节或解除代码节锁定 729 13.6 combinable类模板 731 13.7 任务和任务组 733 13.8 小结 736 13.9 练习 736 13.10 本章主要内容 736 第14章 使用MFC编写Windows程序 739 14.1 MFC的文档/视图概念 739 14.1.1 文档的概念 739 14.1.2 文档界面 740 14.1.3 视图的概念 740 14.1.4 链接文档和视图 741 14.1.5 应用程序和MFC 742 14.2 创建MFC应用程序 743 14.2.1 创建SDI应用程序 745 14.2.2 MFC Application Wizard的输出 748 14.2.3 创建MDI应用程序 757 14.3 小结 760 14.4 练习 760 14.5 本章主要内容 760 第15章 处理菜单和工具栏 763 15.1 与Windows进行通信 763 15.1.1 了解消息映射 764 15.1.2 消息类别 767 15.1.3 处理程序的消息 767 15.2 扩展Sketcher程序 768 15.3 菜单的元素 769 15.4 为菜单消息添加处理程序 771 15.4.1 选择处理菜单消息的类 773 15.4.2 创建菜单消息函数 773 15.4.3 编写菜单消息函数的代码 775 15.4.4 添加更新用户界面的消息处理程序 778 15.5 添加工具栏按钮 781 15.5.1 编辑工具栏按钮的属性 782 15.5.2 练习使用工具栏按钮 783 15.5.3 添加工具提示 784 15.6 C++/CLI程序的菜单和工具栏 785 15.6.1 理解Windows Forms 785 15.6.2 理解Windows Forms应用程序 786 15.6.3 在CLR Sketcher添加菜单 788 15.6.4 添加菜单项的事件处理程序 790 15.6.5 实现事件处理程序 791 15.6.6 设置菜单项复选 792 15.6.7 添加工具栏 793 15.7 小结 797 15.8 练习 797 15.9 本章主要内容 797 第16章 在窗口绘图 799 16.1 窗口绘图的基础知识 799 16.1.1 窗口工作区 800 16.1.2 Windows图形设备界面 800 16.2 Visual C++的绘图机制 802 16.2.1 应用程序的视图类 802 16.2.2 CDC类 803 16.3 实际绘制图形 811 16.4 对鼠标进行编程 813 16.4.1 鼠标发出的消息 813 16.4.2 鼠标消息处理程序 814 16.4.3 使用鼠标绘图 816 16.5 练习使用Sketcher程序 837 16.5.1 运行示例 838 16.5.2 捕获鼠标消息 838 16.6 在CLR绘图 840 16.6.1 在窗体上绘图 840 16.6.2 添加鼠标事件处理程序 840 16.6.3 定义C++/CLI元素类 842 16.6.4 实现MouseMove事件处理程序 850 16.6.5 实现MouseUp事件处理程序 851 16.6.6 实现窗体的Paint事件处理程序 851 16.7 小结 852 16.8 练习 852 16.9 本章主要内容 853 第17章 创建文档和改进视图 855 17.1 创建草图文档 855 17.2 改进视图 859 17.2.1 更新多个视图 859 17.2.2 滚动视图 861 17.2.3 使用MM_LOENGLISH映射模式 865 17.3 删除和移动形状 866 17.4 实现上下文菜单 866 17.4.1 关联菜单和类 867 17.4.2 练习弹出菜单 870 17.4.3 突出显示元素 870 17.4.4 处理菜单消息 874 17.5 处理屏蔽的元素 881 17.6 扩展CLR Sketcher 882 17.6.1 坐标系统转换 882 17.6.2 定义草图类 885 17.6.3 在Paint事件处理程序绘制草图 886 17.6.4 实现元素的突出显示 887 17.6.5 创建上下文菜单 891 17.7 小结 897 17.8 练习 897 17.9 本章主要内容 898 第18章 使用对话框和控件 899 18.1 理解对话框 899 18.2 理解控件 900 18.3 创建对话框资源 900 18.3.1 给对话框添加控件 901 18.3.2 测试对话框 902 18.4 对话框的编程 902 18.4.1 添加对话框类 902 18.4.2 模态和非模态对话框 903 18.4.3 显示对话框 903 18.5 支持对话框控件 906 18.5.1 初始化控件 906 18.5.2 处理单选按钮消息 907 18.6 完成对话框的操作 908 18.6.1 给文档添加线宽 908 18.6.2 给元素添加线宽 909 18.6.3 在视图创建元素 910 18.6.4 练习使用对话框 910 18.7 使用微调按钮控件 911 18.7.1 添加Scale菜单项和工具栏按钮 911 18.7.2 创建微调按钮 911 18.7.3 生成比例对话框类 913 18.7.4 显示微调按钮 915 18.8 使用缩放比例 916 18.8.1 可缩放的映射模式 916 18.8.2 设置文档的大小 917 18.8.3 设置映射模式 918 18.8.4 同时实现滚动与缩放 919 18.9 使用CTaskDialog类 921 18.9.1 显示任务对话框 921 18.9.2 创建CTaskDialog对象 923 18.10 使用状态栏 925 18.11 使用列表框 929 18.11.1 删除比例对话框 929 18.11.2 创建列表框控件 929 18.12 使用编辑框控件 931 18.12.1 创建编辑框资源 931 18.12.2 创建对话框类 933 18.12.3 添加Text菜单项 934 18.12.4 定义文本元素 935 18.12.5 实现CText类 935 18.13 CLR Sketcher的对话框和控件 940 18.13.1 添加对话框 940 18.13.2 创建文本元素 946 18.14 小结 953 18.15 练习 953 18.16 本章主要内容 953 第19章 存储和打印文档 955 19.1 了解序列化 955 19.2 序列化文档 956 19.2.1 文档类定义的序列化 956 19.2.2 文档类实现的序列化 957 19.2.3 基于CObject的类的功能 959 19.2.4 序列化的工作方式 960 19.2.5 如何实现类的序列化 961 19.3 应用序列化 961 19.3.1 记录文档修改 962 19.3.2 序列化文档 963 19.3.3 序列化元素类 965 19.4 练习序列化 968 19.5 打印文档 969 19.6 实现多打印 972 19.6.1 获取文档的总尺寸 973 19.6.2 存储打印数据 973 19.6.3 准备打印 974 19.6.4 打印后的清除 976 19.6.5 准备设备上下文 976 19.6.6 打印文档 977 19.6.7 获得文档的打印输出 980 19.7 CLR Sketcher的序列化和打印 981 19.7.1 了解二进制序列化 981 19.7.2 序列化草图 985 19.7.3 打印草图 995 19.8 小结 996 19.9 练习 996 19.10 本章主要内容 997 第20章 编写自己的DLL 999 20.1 了解DLL 999 20.1.1 DLL的工作方式 1000 20.1.2 DLL的内容 1003 20.1.3 DLL变体 1003 20.2 决定放入DLL的内容 1004 20.3 编写DLL 1005 20.4 小结 1011 20.5 练习 1011 20.6 本章主要内容 1011 前言   欢迎使用本书。通过学习本书,您可以使用Microsoft公司最新的应用程序开发系统,成为优秀的C++程序员。本书旨在讲述C++程序设计语言,然后讲述如何运用C++语言开发自己的Windows应用程序。在此过程,读者将了解这一最新Visual C++版本所提供的很多激动人心的新功能,包括如何在自己的应用程序充分利用多核处理器。   0.1 使用C++语言编程   Visual C++ 2010支持两种截然不同但又紧密相关的C++语言,即ISO/IEC标准C++(本书称其为本地C++)和C++/CLI。虽然很多专业开发人员选用本地C++,尤其是当性能是需要考虑的主要因素时,但是C++/CLI和Windows Forms应用程序带来的开发速度和简易性使得C++/CLI也成了基本的语言。因此,本书将深入讨论这两种版本的C++语言。   Visual C++ 2010完全支持原来的ISO/IEC标准C++语言,同时还支持即将发布的ISO/IEC标准C++提供的一些功能强大的新特性。因此,本书不仅涵盖ISO/IEC标准C++的原有功能,同时还会介绍新语言特性。   Visual C++ 2010也支持C++/CLI,它是Microsoft公司作为本地C++的扩展而开发C++版本。C++/CLI背后的思想是向本地C++添加一些特性,从而能够开发以.NET支持的虚拟机环境为目标的应用程序。这就将C++添加到能使用.NET Framework的其他语言(例如,BASIC和C#)C++/CLI语言目前是一个ECMA标准,同时也符合定义.NET虚拟机环境的CLI标准。   Visual C++ 2010的这两种C++版本互为补充,各自完成不同的任务。ISO/IEC C++用于开发在本地计算机上运行的高性能应用程序,而C++/CLI专门为.NET Framework开发应用程序。掌握了使用这两种C++版本开发应用程序的基础知识之后,就能够充分利用Visual C++ 2010。   0.2 开发Windows应用程序   充分理解C++之后,就可以着手开发Windows应用程序。Microsoft基本类(Microsoft Foundation Classes,MFC)封装了Windows API,提供了全面而易于使用的功能,从而能够使用本地C++开发高性能的Windows应用程序。   当编写本地C++程序时,可以从自动生成的代码获得大量帮助,但仍然需要亲自编写大量C++代码。我们不仅需要对面向对象编程(OOP)技术有扎实的理解,而且需要充分了解Windows编程所涉及的各个方面。本书会介绍所有这些知识点。   C++/CLI虽然针对.NET Framework开发,但同时也是Windows Forms应用程序开发的载体。开发Windows Forms应用程序时,在不用编写一行代码的情况下,即使不能创建应用程序交互所需的用户界面的所有元素,也可以创建其的很多元素。当然,仍然需要定制Windows Forms应用程序,才能完成相应的任务,但开发时间与使用本地C++创建应用程序相比只占一小部分。当给Windows Forms应用程序添加定制代码时,即使这部分代码只占到代码总量的很小比例,也仍然要求我们深入理解C++/CLI语言,才能到游刃有余。本书旨在介绍这些知识。   0.3 高级库功能   并行模式库(Parallel Patterns Library,PPL)是Visual C++ 2010增加的一个令人激动的新功能,通过此功能,我们可以轻松编写使用多处理器的程序。在过去,为多处理器编程并非易事,但有了PPL,这就确实变得很容易了。本书将介绍PPL的各种使用方式,从而加快计算密集型应用程序的执行速度。   0.4 本书读者对象   本书针对任何想要学习如何使用Visual C++ 2010编写在Microsoft Windows操作系统下运行的C++应用程序的读者。阅读本书不需要预先具备任何特定编程语言的知识。如果属于下列4种情形之一,您就适合学习本教程:   ·属于编程新手,十分渴望投入编程世界,并最终掌握C++。要取得成功,您至少需要对计算机的工作原理有大体的理解——包括内存的组织方式以及数据和指令的存储方式。   ·具备一些其他语言的编程经验,如BASIC;渴望学习C++,并想提升实际的Microsoft Windows编程技能。   ·有一些使用C语言或C++语言的经验,但使用环境不是Microsoft Windows;希望使用最新的工具和技术,扩展在Windows环境下编程的技能。   ·有一些C++知识,并希望扩展C++技能,成为会使用C++/CLI的编程人员。   0.5 本书主要内容   本书实质上涵盖了两大主题:C++编程语言以及如何使用MFC或.NET Framework编写Windows应用程序。在开发完全成熟的Windows应用程序之前,需要具备相当水平的C++知识,因此,首先学习这本C++教程。 .  本书的第一部分通过可运行于两种C++语言版本上的一个详细的循序渐进式教程,讲授了使用Visual C++ 2010支持的两种C++语言技术编写C++程序的基础知识。您将了解本地ISO/IEC C++语言的语法和用法,并通过一系列范围广泛的可工作示例,获得实际运用它的经验和信心。本书也提供了一些练习,可以检验所学的知识,并且可以下载练习题答案。而C++/CLI作为本地C++的扩展来学习,这仍然是通过一些可运行的示例来说明每一个特性的工作原理。   当然,本语言教程也介绍和说明了C++标准库功能的用法,因为开发程序时极有可能使用它们。随着深入地学习C++语言,您的标准库知识会不断增加。还将学习标准模板库(Standard Template Library,STL)以两种形式——即本地C++版本和C++/CLI版本——提供的强大工具。另外,本书还用一章的篇幅专门讲述新增的并行模式库(PPL)功能,从而能够利用PC的多核处理功能来开发计算密集型应用程序。   对C++的运用有信心之后,就可以继续学习Windows编程了。通过创建超过2000行代码的大型可运行的应用程序,学习如何使用MFC来开发本地Windows应用程序开发应用程序贯穿多章内容,使用到了MFC提供的一系列用户界面功能。为学习如何使用C++/CLI编写Windows程序,相应地开发了一个与本地C++应用程序具有相似用户界面特性的Windows Forms应用程序。   0.6 本书结构   本书内容的结构安排如下:   ·第1章介绍使用C++编写本地应用程序和.NET Framework应用程序所需要理解的基本概念,以及在Visual C++ 2010开发环境体现的主要思想,还叙述了如何使用Visual C++ 2010的功能来创建本书其余部分要学习的各种C++应用程序。   ·第2~9章讲授两种C++语言版本。第2~9章内容的组织方式都相似:各章的前半部分讨论本地C++语言的元素,后半部分讨论如何在C++/CLI提供相同的功能。   ·第10章介绍如何使用标准模板库(Standard Template Library,STL)。STL是一组功能强大且全面的工具,用来组织和操作本地C++程序的数据。由于STL是独立于应用程序的,因此可以在上下文大量应用它。第10章还介绍了Visual C++ 2010新增的STL/CLR。它是C++/CLI应用程序的STL版本。   ·第11章介绍了在C++程序查找错误的技术。涵盖了调试程序的一般原则,以及Visual C++ 2010提供的基本特性,这些特性可以帮助我们查找代码的错误。   ·第12章讨论Microsoft Windows应用程序的组织方式,并描述和展示了在所有Windows应用程序都存在的基本元素。本章解释了以本地C++语言编写的、使用Windows API和MFC的Windows应用程序示例,还给出了一个使用C++/CLI语言编写的Windows Forms应用程序的基础示例。   ·第13章介绍了如何在PC有多核处理器的情况下编写程序以使用多个处理器。通过一些完整的工作示例展示了并行处理的基本技术,这些示例Windows API应用程序是计算密集型程序。   ·第14~19章讲述Windows编程。详细描述了如何使用MFC提供的构建GUI的功能编写本地C++ Windows应用程序以及如何在C++/CLI Windows应用程序使用.NET Framework。我们将学习如何创建并使用通用控件来构建应用程序的图形用户界面,还将学习如何处理因用户与程序的交互作用而产生的事件。除了学习构建GUI的技术以外,还将从开发应用程序的过程学到如何打印文档,以及如何在磁盘上保存应用程序数据。   ·第20章讲述为使用MFC创建自己的库而需要知道的基本知识。我们将了解可以创建的不同种类的库,还将开发能够与前6章开发应用程序协同工作的示例。   本书各章内容都包括许多工作示例,通过这些示例阐明所讨论的编程技术。每章结束时都总结了该章所讲述的要点,大多数章节都在最后给出了一组练习,您可以应用所学的技术来试着解答这些练习。练习的答案连同书的所有代码都可以从http://www.wrox.com和http://www.tupwk.com.cn/ downpage下载。关于C++语言教程使用的示例都是使用简单的命令行输入和输出的控制台程序。这种方法使我们能够在不陷入复杂的Windows GUI编程的情况下,学习C++的各种功能。实际上,只有在透彻地理解编程语言之后,才能进行Windows 编程。   如果希望使学习过程尽可能简单,或者如果您是程序设计初学者,那么最初可以只学习本地C++编程语言。讲授C++语言的各章(第2~9章)都是首先讨论本地C++功能的特定方面,然后再讨论C++/CLI在相同的上下文引入的新功能。以这种方式组织各章内容的原因在于,C++/CLI是作为ISO/IEC标准语言的扩展定义的,对C++/CLI的理解是以对ISO/IEC C++的理解为基础的。因此,您可以只阅读各章的本地C++部分,而忽略后面的C++/CLI部分。然后可以继续使用本地C++开发Windows应用程序,而免去记住两种语言版本的苦恼。在熟悉了ISO/IEC C++之后,您可以回头重新学习C++/CLI。当然,如果您已经有一些编程经验,也可以逐章进行学习,从而同步增加这两种C++语言版本的知识。   0.7 使用本书的前提   为了充分地使用本书,需要可支持MFC的某个Visual C++ 2010(或Visual Studio 2010)版本。需要注意的是,免费的Visual C++ 2010 Express Edition版本是不行的。因为此版本只提供C++编译器以及对基本Windows API的访问,并没有提供MFC库。因此,Visual C++ 2010(或Visual Studio 2010)的任何付费版本都能够编译并执行本书的所有示例。   0.8 源代码   读者在阅读本书提供的代码时,既可以亲自输入所有代码,也可以使用随书提供的代码文件。本书所有代码均可以从http://www.wrox.com/或www.tupwk.com.cn/downpage网站下载。进入该网站后,读者可以根据本书的书名查找本书(既可以使用搜索框,也可以使用书名列表进行查找),然后单击本书详细内容面上提供的Download Code链接,就可以下载本书提供的所有代码。   注意:   由于许多书籍名称与本书类似,读者也可以通过ISBN进行查找,本书的ISBN为:978-0-470-50088-0。   另外,读者可以从前面提到的CodePlex网站下载本书或其他Wrox书籍的代码,也可以从Wrox的代码下载面http://www.wrox.com/dynamic/books/download.aspx和http://www. tupwk.com.cn/downpage下载本书或其他Wrox书籍的代码。   源代码下载成功后,读者用任一解压工具将其解压即可。   0.9 勘误表   为了避免本书文字和代码存在错误,我们已经竭尽全力。然而,世界上并不存在完美无缺的事物,所以本书可能仍然存在错误。如果读者在我们编写的某本书籍发现了诸如拼写错误或代码缺陷等问题,那么请告诉我们,我们对此表示感谢。利用勘误表反馈错误信息,可以为其他读者节省大量时间,同时,我们也能够受益于读者的帮助,这样有助于我们编写出质量更高的专业著作。   如果读者需要参考本书的勘误表,请在网站http://www.wrox.com用搜索框或书名列表查找本书书名。然后,在本书的详细内容面上,单击Book Errata链接。在随后显示,读者可以看到与本书相关的所有勘误信息,这些信息是由读者提交、并由Wrox的编辑们加上的。通过访问http://www.wrox.com/misc-pages/booklist.shtml,读者还可以看到Wrox出版的所有书籍的勘误表。   如果读者没有在Book Errata面上找到自己发现的错误,那么请转到面http://www. wrox.com/contact/techsupport.shtml,针对您所发现的每一项错误填写表格,并将表格发给我们,我们将对表格内容进行认真审查,如果确实是我们书的错误,我们将在该书的Book Errata面上标明该错误信息,并在该书的后续版本改正。   0.10 关于p2p.wrox.com网站   如果读者希望能够与作者进行讨论,或希望能够参与到读者的共同讨论,那么请加入p2p.wrox.com论坛。该论坛是一个基于Web的系统,读者可以在论坛发表与Wrox出版的书籍及相关技术的信息,并与其他读者和技术用户进行讨论。论坛提供了订阅功能,可以将与读者所选定主题相关的新帖子定期发送到读者的电子邮箱。Wrox的作者、编辑、业界专家,以及其他读者都会参与论坛的讨论。   读者可以在http://p2p.wrox.com参与多个论坛的讨论,这些论坛不仅能够帮助读者更好地理解本书,还有助于读者更好地开发应用程序。如果读者希望加入论坛,那么请按照以下步骤执行:   (1) 进入http://p2p.wrox.com面,单击Register链接。   (2) 阅读使用条款,然后单击Agree按钮。   (3) 填写必要的信息及可选信息,然后单击Submit按钮。   (4) 随后读者会收到一封电子邮件,邮件说明了如何验证账户并完成整个加入过程。   读者无须加入P2P论坛即可阅读论坛消息,但如果需要发表主题或发表回复,那么必须加入论坛。   成功加入论坛后,读者就可以发表新主题了。此时,读者还可以回复其他用户发表的主题。读者在任何时间都可以阅读论坛信息,如果需要论坛将新的信息发送到自己的电子邮箱,那么可以单击论坛列表论坛名称旁的Subscribe to this Forum图标完成这项功能设置。   如果读者需要获得更多与Wrox P2P相关的信息,请阅读P2P FAQs,这样可以获得大量与P2P和Wrox出版的书籍相关的具体信息。阅读FAQs时,请单击P2P面上的FAQs链接。   
----------VC应用开发 [Visual.C..编程技巧精选500例]源代码. 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件文件夹属性操作、文件文件夹系统操作、系统控制操作、程序版权信息、系统软件信息、 系统硬件信息、存储设备管理、鼠标及键盘、声音和视频、图形和图像、网络、数据库) 《远程控制编程技术》源代码 内含(重启、图片操作、ip操作、键盘与鼠标、客户端以及服务端、文件传输等实例源码) 多个VC++加密解密算法库(CRYPT++) 详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件来回拖动文件的操作 MyPlayer 音乐播放器 内含歌词显示实现源码 ActiveXDemo 演示了装载以及卸载atl控件的操作以及注册操作 ado 登录模块的制作 如题,登陆数据库的操作。 ado,dao,odbc数据库连接vc代码 演示了不同的数据库的各种操作(连接、删除、添加……等等) ATL开发指南源码 内部包含了atl控件的开发以及如何应用,演示了COM的包容与集合、自动化、事件和连接点、枚举器和集合以及线程管理等等。 ATL实现的CDHtmlDialog模板类v1.03 使用了六个类五个模块类演示了atl的调用方法 class CDHtmlSinkHandler; // Events Sink Base class CDHtmlEventSink; // IHTMLDocument2 Events Sink // IDispatch class CDHtmlControlSink; // ActiveX Control Events Sink // IDispatch class CDHtmlElementEventSink; // IHTMLElement Events Sink // IDispatch class CExternalDispatchBase; template class CExternalDispatchImpl; // External Dispatch Implement // IDocHostUIHandleDispatch template class IDocHostUIHandlerDispatchImpl; // IDispatch template class DWebBrowserEvent2Impl; // ATL::CDialogImplBaseT template class CDHtmlDialogImpl; template class CMultiPageDHtmlDialogImpl; autoplaysnd mp3 播放器源码 重载了自带的控件进行播放 aviplayer avi播放器源码 引用了atl控件播放 beautifulskin 源码 演示了各种控件方法 Browser.Net源码 C#的一个网游览的例子 C++自绘窗体的完整代码 注释非常详细,相信会帮助大家设计好自己的个性窗体C++_Primer_第4版_文+英文 原书源码+课后习题答案。 CameraController(云界面) 实现了自绘控件,云端控制主要在CnComm类多线程串口通讯库, camerads-DirectShow使用示例 演示了摄像头的使用 CatListBoxDemo ListBox控件与其它控件阙套使用方法 CCAMS系统是一种用于局域网下的CS模式的软件管理和监测系统源码 它包括客户端和服务端,客户端软件主要作用是监测本主机的活动,并将监测到的信息定时发送给服务器。服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户,以便用户对局域网内的主机进行监测和管理。 CClockST_demo 电子钟的实现,自绘Button、Static的实现,其自定了一个辅助主题风格类。 CctryLog(web拦截网帐号密码) 实现了一个控件去获得IHTMLDocument2接口,然后读取内容,匹配用户名与密码等。 CFile64_src 操作大文件,自定义了一个操作大文件的类,并进行了测试。 chapter7 实现了声音录制等功能。 CHtmlViewProjV2 详细演示了HtmlView的使用与HtmlView事件站点拦截的实现、js调用。 CIVStringSet_Demo 自定义了一个类似STL容器的类,并进行了测试。 ClearHistory 实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除"运行"的自动匹配历史记录、清除"文档"的历史记录、清除上次登陆用户记录、清除"查找文件"自动匹配历史记录、清除"查找计算机"自动匹配历史记录、清除网络联接历史记录、清除远程登录历史记录、清除浏览网址历史记录。实现的代码很简单。 CListCtrl 阙套其它控件 自绘了CListCtrl 控件,实现了其它控件阙套到List并自绘等。主要的实现在CListReport类。 CListCtrlTest 演示了重载CListCtrl后的使用方法。 CListItem Drawing 演示了其它控件(全部)阙套到List并自绘等,学习自绘以及阙套CListCtrl 控件的好实例。 ColorStatic 自绘了CStatic控件,实现了标题字符滚动效果。 CSDN免积分下载工具 源码 演示了使用CInternetSession去下载资源。 CStatic文字滚动 如题,此实例非常适合学习,重载并自绘了Wnd类,效果是上下文字、图片、文字由大到小和星星闪烁等滚动效果。实例使用了加载类似xml文件读取信息,然后显示。 COM_ATL_Tutorial 简单的atl控件演示 COM接口挂钩及其应用 如题。 CSkinSlier CSliderCtrl自绘 Cursor 生成图标,运行到鼠标图标。 cutscene win32下实现视频播放。 C视频源代码 视频教程步骤源码 DDraw DirectX 实例 DES加密算法源代码 如题。 Detected memory leaks 检查内存泄漏源码 DigiStatic_src 自绘CStatic实现数字效果。 DirectShow开发指南pdf附属代码 如题。 DirectShow开发指南源码 如题。 directUI_D DirectUI界面库 DOM应用---遍历网的元素 如题。 dshowplayer 媒体播放器的实现,实现了VMR7、VMR9、EVR方式。 DSoundManager 实现了声音管理。 Excel文件的导入和导出操作 如题。主要的实现在CMyExcel类。 expclass_src dll库的演示。 fge.1.1.alpha.sdk 精灵系统,一套MFC渲染引擎,含2D/3D等渲染,效果看源码,IFEngine是整个引擎接口,IFSystem是硬件查询系统,IFApplication是应用程序对象基类。 FlashPlayer播放器4.0的VC++源代码 如题。 FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 FreeBird2011Dlg.h 主对话框类头文件 MultiGroup.h 多播组类头文件 UserLink.h 用户链表类头文件 ListenSocket.h 侦听接口类文件 ChatSocket.h 聊天接口类文件 SettingDlg.h 设置对话框类文件 LocalInfoDlg.h 查看本地信息对话框类文件 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 如题。 FTP、HTTP 多线程断点续传下载文件 源码 如题。 gdiplus应用实例 如题,自绘控件的实现。 gdiplus应用实例2 如题,自绘控件的实现。 GetFileVersion 这个例子就是查询任何可执行文件的版本信息并且 C++builder 和 VC 都通用,只需要把 AnsiString 替换成 CString 就行了。 gh0st v3.6 源码 - 可下断点调试! 如题。详细见源码。 GMem 内存管理单元源码。GMem.cpp和GMem.h是内存管理单元的源码文件。完成端口通讯模块内存管理。 haisanidsV1.2-网络连接监控 IP实时数据。自绘了很多控件。自绘CTabCtrl、CToolBar、CMenu、CButton、CHtmlCtrl、CListCtrl。 1.初始状态只监听连接,不捕获IP数据 2.鼠标右击列表选择或取消监控某端口数据 3.为防止ping攻击,一般情况ping数据全部监控 4.监控某端口数据时,不监控ping包 5.数据超过20k将被清空 6.右边窗口停止抓包后显示十六进制数 hyperlink 自绘CStatic,实现超链接。 iconbutton_demo 演示了多种自绘Button。 IDocHostUIHandler Extended CHtmlView 如题。 IM_毕业设计 聊天系统,操作了数据库,有服务端和客户端。 ini文件的类适合VC使用 如题。 Inline Hook(ring3) 简单源码 代码里用了备份dll的方法,因此在自定义的函数可以直接调用在内存备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的模型,服务端运行后会自动发送本机信息到客户端,客户端采用IOCP重叠机制。 IOCP封装类(DLL)发布 主要是CIocpSrv"伪类",实际上还是调用的DLL, IOCP完成端口 [1]---选择 - Select [2]异步选择 - WSAAsyncSelect [3]---事件选择 - WSAEventSelect [4]---重叠I [5]---完成端口 IP所在地查询器 如题。 jpeglib_demo 处理Jpeg图片。 KeyHook 键盘钩子,截获键盘信息。 Kugou7+UI 界面设计。学习界面的好实例,强烈推荐。 自绘button 如题。 自绘MENU 如题。 自绘tab 如题。 自绘Tree 如题。 自绘按钮button源代码 如题。 自绘编辑框 如题。 自绘窗体界面 如题。 自绘对话框 如题。 listbox-6 重载CListBox,演示了拖动功能。 Mail_Report 演示了发送邮箱的功能。 MD5算法 如题。 MediaPlayer 视频播放的实现。 MFC 对话框 MP3 内部包含:mp3播放器Lrc歌词同步源程序代码分析、mp3播放器+支持歌词同步显示哦、简单音乐播放器。 mfc 解码 视频音频解码部分。 MFC_MultiSender_OVER 文件传送,多文件(超大文件)传送功能的实现,含文档。 MFC+DLL的编写和调用示例 如题。 MFC换肤完全贴图实现 如题。 Smile简体版 很简单,只能播放mp3格式的音乐。 功能: --------------------------------------- --------关闭-- 打开----最小化------- --------------------------------------- 显示歌曲名字 -------------------- ------------------ ---暂停并从 ----- -- - 上一曲------ 头开始播放 | 显示时间 | | | ---开始和暂停 ----------- 下一曲------ -------------------------------------- Linux内核完全注释附 如题,我没看。 MFC+消息循环贴图---金山毒霸界面 自绘控件实现。 MFCDemo DirectUI移植到MFC实现。 MFCHtml 调用脚本 如题。 MFC使用COM加载WMI服务,另类获取系统服务详细 大家都知道,现在流行的检测硬件软件视乎很神秘,我们要获得各种信息好像比较难.但大多数这种软件或多或少的使用了WMI,如果我们能熟练掌握相信你也的处理.另外WMI除了查询还能修改,比如3389端口,账号,密码,服务启动与关闭只要你想的几乎都可以,因为WMI代替我们去与硬件打交到了,甚至是系统底层! MiniPlayer 源代码 媒体播放实现。 MP3解码 代码 内部包含多种实例实现MP3解码,有开发文档。 MP3解压程序源代码 如题。 MPEG4播放器源代码 如题。 MSN 仿真界面全部源代码 如题,非常好的界面设计实例,自绘控件的实现。 Mufan MP3播放的实现。 MYICQ 0.8 alpha1 (仿腾讯QQ整套聊天系统) 老版qq系统的实现。 MyIE3.0浏览器源代码 如题。完整的代码,重载控件实现,非常适合初学者。 MyPhpServer(原创,有实现的主要代码) 如题。 microcai-ibus-t9-输入法源码 如题,主要源码就几个,详细见代码。 MzfHips主动防御 主要在MzfHipsDlg,程序分析进程数据、驱动数据、注册表数据从而实现主动防御。 超级下载 不过不是c++源码 1:综合FTP下载和HTTP(网络蚂蚁)(多线程). 2:FTP下载支持多个站点同时下载一个文件(同时支持断点续传). 3:可以在不下载ZIP.RAR.ISO文件的情况下查看文件里面的目录文件. 4:支持多语言. 5:操作综合其它软件. 6:自定义快捷键. 7:在IE工具栏上加按钮,可以直接拖动连接到按钮上下载. 8:注册采用激活方式. 9:采用Messenger的弹出滑动消息提示框. 10:下载管理,虚拟文件夹. 11:自动ping. 12:连接到搜索引擎. 13:自动报告bug,建议等. 14:宏功能. 15:自动同步文件夹. 16:保存加载任务. 17:计划任务. 18:单线程下载时不能创建临时文件. 19:下载流文件(rm,Media Player). Notepad++ V5.6.8 源码! 如题。 OA精灵代码 c++版 一套oa系统。 ocxdlgtest dll的一个实例。 OD反汇编引擎(带VC修改版和原版) 如题。主要文件就4个,非常适合学习,详细见源码。 OPENG开发的示例代码c++版 演示了OpenG的使用方法,内含几个实例,一个实例就3个文件。 p2p vb实例。 p2p+technology 文档。 P2P视频技术源码(含开发文档) 目前的协议有如下一些特点: 1) 客户向服务器发送请求, 每个请求的长度不定. 请求的长度在第一个INT指定. 2) 每个服务器通常会向多种客户提供服务, 例如, TS要同时向CP, NP提供服务, CP要向NP和其他CP提供服务, 同时还是其他CP, TS, SP的客户. 3) 每个服务器为客户服务时, 通常是长期的, 会涉及多次请求-应答的来回. PcShare 内含远程控制、进程管理、文件操作、视频控制、注册表操作、客户端服务器端。 redui_src_v0.9.130(DirectUI 3D) DirectUI 3D界面库。 sdk(界面库) RINGSDK包含界面库和图象库。 绘MFC基本控件 ) 如题。 PlayerDrectShow win32情况下实现媒体播放。 preemptivepopupkiller C#源码,实现简单游览器。 RangeScan扫描器源代码 ip地址扫描,发送邮箱。 ResizableLib 测试开源界面库Resizable。 RsPicture 自定义了一个图片库,然后引用测试。 SimplePlayer 简单的媒体播放源码。 Skin_Combo_Box_demo 自绘Combox控件的实例。 SkinList_Demo 自绘List控件的实例。 Smile 自绘List控件的实例。 SOCK登录SSL加密网站 调用ie接口。主要的代码在IEComCtrlSink。 sqlite3使用 引用了Splayer的Sqlite3库,进行了测试。 SrcFirstProg 简单的窗口程序。 SuperGrid - 特别的 listview 控件 网格形式的视图,自绘了CComboBox、CEdit、CSuperGridCtrl实现。 tab 演示了CTabCtrl控件的使用方法。 tabcontrol_demo 自绘了CTabCtrl的实现。 To Create A COOL Desktop Lyrics Demo 歌词显示,效果非常好。对话框实现。 TopMost 自绘CListCtrl的实现。 Trace程序 演示了输出信息。 TransparentStatic 自绘CStatic控件。 TreeView控件 自绘CTreeView控件。 VC 创建向导模式 如题。 VC 精品源码打包下载(解) CatListBox_src.zip CatListBox_demo.zip 这个程序模仿Outlook建立分类列表框。 CClockST_src.zip CClockST_demo.zip 一个简单的数字时钟程序,其的date类派生于MFC CStatic 基类。 CIVStringSet_Demo.zip CIVStringSet_Source.zip 基于MFC和STL平台的字符串类,可以实现在快速字符串搜索。 enum_display_modes_demo.zip enum_display_modes_src.zip 列出所有的显示模式并列表出来,通过单击列表来改变显示分辨率。 iconbutton_demo.zip iconbutton_src.zip 创建一个按钮,并在上面显示图标。 jpeglib_demo.zip jpeglib_src.zip 利用Delphi的代码在VC显示JPG图片,不使用动态连接库。 Mail_Report.zip 一个邮件报告程序。 SrcFirstProg.zip 解释了最基本的MFC程序流程。 tabcontrol_demo.zip tabcontrol_src.zip 自定义的标签控件对话框。 Undo_demo.zip undo_src.zip 在VC实现Undo和Redo功能。 VC 利用底层键盘钩子屏蔽任意按键MaskKey 动态链接库实现钩子,然后程序调用。 VC 透明窗口效果的电子标尺源代码 实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 如题。 VC++版源代码统计工具 如题。内含自绘CMenu、CButton、CDialog、CStatic、CListCtrl等。 VC++6.0 控制摄像头 一个视频捕捉类对摄像头的操作。 VC+++暴风影音(Media+Player+Classic)源码 知道的人不多,但提起国内的暴风影音,我想知道的人就多了,其实暴风影音就是Media Player Classic,暴风影音只是同我一样从Gabest官方下载到了Media Player Classic的源码,不同的是,暴风影音将Media Player Classic改成了自己的名字并加入了许多的解码器,打包成自己的产品,其实这也无可厚非,关键就在于其作者老爱把里面捆绑一些我们用不到的软件. TT--仿qq+p2p通讯(nat穿透) 如题。 VC++遍历文件夹自动生成目录树 对CTree控件的操作。 vc++动态链接库(dll)编程深入浅出 内含开发文档。主要是对动态链接库的教程。 vc++动态链接库编程之DLL典型实例源代码下载 如题。 VC++仿Dreamweaver取色器源代码 如题。非常简单。 VC++挂机锁屏系统源程序 如题。非常简单。 VC++建立桌面或开始菜单快捷方式 如题。非常简单。 VC++界面库编程 SkinMagic 2.21 动态库版本的使用和 Skin++动态库及静态库版本的使用。 VC++精仿QQ2008窗体及分类菜单 效果逼真。就是几个控件的自绘以及使用。 VC++卡通风格气泡提示源码 重绘窗体实现。 VC++实现任务管理器源码 任务管理器应该大家都很熟悉,论坛里也有好多的任务管理器的源码,解决CListCtr刷新时滚动条跳到开始处。 VC++实现网络连接查看器源码 非常好的一个实例,把网络连接的UDP/TCP都插入到CList控件显示出来。 VC++视频捕捉系统 win32下 视频操作。 VC++视频会议系统(完整) 有开发文档。使用了系统自带的视频。 Windows核心编程(第五版)随书源代码 如题。 vc-ftp 多线程操作多文件传输的操作。 VC版下载者 源码 非常简单的一个实例,使用了URLDownloadToFile下载文件。 VC断点续传源代码 从fnMyDownload开始,程序首先解析输入的url,拆分为地址,路径,文件名等。然后获取文件头,得到文件大小,然后再下载。重点函数是ThreadDownLoad。下载完之后用FileCombine合并文件。Mydownload.cpp底端的fnMyDownload函数是下载器的关键函数。 点对点多线程断点续传软件《传圣》源代码 本实例适用于装有IP/TCP协议的电脑. 主要功能:电脑间传送大型文件.(如电影等) 主要特点: 1.采用了多线程技术,速度明显高于同类软件. 2.支持多文件同时传送. 3.支持段点继传,也就是说文件可分N次传送. 4.分服务端和客户端,服务器支持多客户. 5.在传送过程可实实对话,有聊天功能. 6.为了提高效率,本软件得短小精悍,两文件总共只有100K,直截运行,不用安装. 7.麻雀虽小,但五脏俱全,功能多,操作方便. 使用方法: 在服务端加入要传文件,客户端输入服务端IP地址(服务端运行后会显示),点击连接,即会显示服务端文件,双击即可下载! 现在是测试版,欢迎多提意义. 断点续下 内含:多文件下载、多文件发送、下载进度条显示等。 多任务多线程断点续传DLL 如题。 多线程文件下载 如题。 多线程查找文件(功能增强版) 自定义了一个文件搜索类。多线程实现。 多线程高速文件搜索程序源码 自定义了一个文件搜索类, 实现: BOOL StartFinder(); //开始查找 void PauseFinder(); //暂停查找 void ResumeFinder(); //继续查找 void StopFinder(); //停止查找 void Finde rReset(); //查找重置 功能。 VC++视频聊天系统源代码 实例简单,有用户登录、传输文件、视频、画质调节、禁音检测、回音消除、自动增益、噪音抑制、视频控制等、 VC++搜索指定文件文件 如题。非常简单。 VC++文件分割、合并工具 自绘了Button、CProgressCtrl、CAutoFont。主要操作在CFileSpltDlg。 vc++写的音乐播放器 如题。含有绘图效果。 VC++制作3D效果的旋转文字特效 如题。 VC++注册码加密源程序(含注册机、解密机) 压缩包内有两个源码包,一个是注册机源程序,另一个是解密机的源程序,一套完整的参考实例。 VC+MapX源码含GPS跟踪演示 如题。 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序浏览PDF、Word文档文件 如题。 vcdialog 自绘对话框。 vc编程:自动停靠窗体,吸附窗体 OnMoving事件处理。 vc基于HTTP协议断点续传和多线程下载源代码 如题。 VC满屏开满玫瑰花 如题。 VC然输入框出现气球提示 调用系统自带的提示显示。 VC实现创建模态对话框 如题。 VC释放EXE资源文件 如题。 vc网络 网络系列使用教程。 VC星号密码探测显示程序 简单。 vc网络通信编程实用案例精选 局域网网络通信编程实例、IE编程实例、基本网络编程实例、网络通信协议编程、Modem /串口通信编程、代理服务器编程实例、高级网络通信编程实例。 Visual_C++网络高级编程 TCP/IP协议、Winsock网络编程接口、Visual C 与网络编程、基本网络编程技术、Telnet协议的实现、HTTP协议的实现、 FTP协议的实现、文件下载、UDP协议的实现、ICMP协议的实现、PPP协议的实现、代理服务器的实现、 ATL DCOM和ActiveX技术、网络安全。 vld-10-src 内存泄漏检测源码。 vmrplayer 简单播放器的实现,集成到了一个类。 ATL开发Gif的ActiveX控件 如题。使用控件显示gif文件。 weather(天气预报界面) 通过soso网站获得城市以及天气信息。 WebBrowser-Httprequest(http请求捕捉) 如题。 Win32多线程程序设计 有文档以及源码。 Windows Media Player界面的实现 如题。 Windows Shell扩展 实现文件拷贝。 windows设计 源码 书本源码。1.VC++的基本使用 2.一个简单的HelloWorld程序 3.进程的创建 4.进程控制 5.控制其他进程 6.游戏内存修改器1 7.游戏内存修改器2 8.多线程 9.线程的优先级 10.线程同步 11.第一个窗口程序 WINDOWS网络编程技术-附源码 如题。内有文档以及源码。 WM调用DrectShow例子 wm播放器。 XFileDialog_demo xml文件操作。 xml 树控件的使用,以及ChtmlView或站点拦截调用等。 XML文件读取及管理工具VC++源码 重写了很多控件,重要功能源码集合到了CXML类。 暴风压力测试2010(V7.0)源码 如题,演示了攻击服务端的源码,tcp多连接攻击、cc攻击等等……。 播放器 MM ARM_流媒体、暴风影音源码用于编解码分析。 超清晰播放器源代码 如题。 超旋的音乐播放器 含歌词……,效果看源码。 穿还原的下载者 C++源码 驱动程序可以穿透还原卡,并且可以修改系统文件,这里是通过修改系统文件userinit.exe来实现的。userinit.exe的功能很简单,就是启动explorer.exe。这里就是通过替换uerinit.exe,伪造一个userinit.exe。这个伪造的程序可以实现uerinit.exe的原始功能,并可以实现自定义的功能,比如下载执行,发送数据。 窗体透明、窗体上控件和DC绘图不透明 如题。 从dll动态装载类的源程序 如题。 打印函数 测试打印函数的功能。 大型多媒体视频会议服务器端和客户端源码VC 如图,基于H323格式。 发一个界面库skin#全集合 SkinH_VC使用帮助(含源码)、Skinsharp V1.0.6.6各种语言全破解、vc全部函数各自独立的demo、制作皮肤工具。 仿360杀毒软件界面源码 MFC重载控件实现了360界面效果。 仿QQ、MSN信息提示窗口 重载CWnd实现了动画显示。 仿QQ2011界面的源码 如题。 仿QQ信息提示窗口 如题。 仿金山词霸界面 如题。 仿制金山毒霸专杀工具界面 如题。 漂亮c 界面源码 如题。 漂亮的编辑框 重载CEdit实现自绘。 实现QQ界面绝对经典 如题。 用户界面多线程 多线程的使用。 搞基控件 ComboBox 演示了ComboBox控件的使用方法。 搞基控件 List Ctrl 演示了List Ctrl控件的使用方法。 搞基控件 ListBox 演示了ListBox控件的使用方法。 搞基控件 Tab Ctrl 演示了Tab Ctrl控件的使用方法。 搞基控件 TreeCtrl 演示了TreeCtrl控件的使用方法。 带加密功能的SQLite3.3.6封装类 如题。 第12章+DLL开发与系统编程 创建导出浮点数四则运算函数的Win32 DLL、使用显式方式调用DLL实现浮点数的四则运算、使用隐式方式调用DLL实现浮点数的四则运算、创建Win32 DLL导出一个全局变量、调用DLL,获取其导出的全局变量值、创建Win32 DLL导出一个计算长方体表面积和体积的类、调用DLL,使用其导出类计算长方体的表面积和体积、创建MFC常规DLL,通过导出函数显示颜色信息对话框、调用MFC常规DLL,显示颜色信息对话框、创建MFC扩展DLL,实现圆形按钮类、调用MFC扩展DLL,创建圆形按钮、创建记录键盘动作的全局钩子DLL、调用键盘钩子DLL,实现监视系统的键盘操作、创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL、调用鼠标钩子DLL,显示鼠标所在窗口的标题、获取当前操作系统的版本信息、获取系统CPU信息、获取系统内存的相关信息、获取当前系统所有安装的硬件设备、调用系统关机对话框、编码实现关闭和重启计算机、实现休眠计算机,并创建快捷键、显示并设置系统的显示属性、隐藏显示系统的任务条、改变系统的桌面壁纸。 对磁盘下任意目录的动作进行监控 创建线程不断的监视。 多功能小闹钟 不规则窗体效果显示,实现了多功能的小闹钟。 仿QQ和飞秋的局域网聊天程序(文件+语音) 这个程序用的协议是UDP,socket是CAsyncSocket,这是我在这个网站看到了qq也优先用UDP来连接服务器,连上服务器,能获得服务器上的人员列表,客户端的人员列表随用户上下线改变,服务器掉线了 也能收到通知,双击用户名字可以聊天,聊天窗口上有个文件传输,在我电脑上能传输一些小文件,但在别人电脑上就会使程序崩溃。 工具栏画到标题栏上 如题。 关联文件 自动恢复系统文件关联,以及文件关联操作的代码。使用注册表防止多次运行。 基于CDialogBar的IE多标签栏的实现 如题。 基于IE内核的多进程浏览器Raptor 基于WTL控件实现了多进程。 极速FTP客户端程序(VC++版) 如题。 截屏mfc和dll程序 如题。 进程防杀的实现 Hook TerminateProcess()函数,每次TerminateProcess()被调用的时候先判断企图结束的进程是否是我的进程,如果是的话就简单地返回一个错误码就可以了。 精美挂机锁源码 如题。 局域网视频监控 如题。 客户端和服务器 考虑到作为服务器的一端一般来说是固定的,所以当开启服务器后,一般服务器是不能停止的,所以在正式的软件里面,作为客户端让输入的服务器端IP的那一项是可以省略的,因为在制作安装程序的时候可以将服务器IP直接固定,但是这个作为简单的功能演示版本考虑到作为服务器的一端可以为任意电脑,所以在客户端设置了填写服务器IP。运行时:首先是运行Sever.exe服务器端,然后是“开启服务器”,“产生新的随机码” ,然后运行Client.exe客户端,输入用户名和密码,然后输入服务器端IP地址,然后登陆服务器,如果密码或者登陆号不正确会有提示,也可以选择试用版的软件。 快捷键 演示了快捷键设置的代码。 类似QQ截屏的屏幕取色器 主要功能在CColorPickerDlg。 两款拼音输入法源代码 拼音输入法、AboutWiz_src。 枚举进程 系统监视 有磁盘监视、系统目录监视,任务栏监视、端口监视、流量监视等等。 媒体播放器 如题。音乐播放器的实现,内有文档以及总结。 模仿QQ抖动 如图,简单。 闹钟软件V1.0 (带VC++源码) 基于MFC窗体的闹钟。 能弹出复选框组合列表的combobox 如题。 屏幕放大镜源代码 如题。 屏幕监控+远程控制+mfc+vc 如题。 屏幕录像模块程序设计 如题。 屏幕录像源代码 如题。 屏幕小精灵 如题。 七彩泡泡屏保代码 如题。 轻松实现类VC界面 两个窗口的实现类是从CControlBar派生出来的,我们并不需要从头到尾实现该类,因为Cristi Posea先生已经为我们实现了一个称为CSizingControlBar的类,而且得相当完美!我们所要的便是好好地利用该类,为了尽可能地简洁,笔者将CSizingControlBar类修改了一下并命名为CCoolBar,接下来我们将详细介绍如何利用该类实现我们所需的界面。 全屏幕播放AVI文件的启动界面程序 如题。 全屏幕播放flash的动画启动界面 如题。 任务栏终级编程 如题。 三种方法来检索处理器信息 获取CPU的信息,以及判断是否支持MMX SSE SSE2 3DNOW等等操作。 深入解剖远程管理软件编写 教程,如题。 深入解析ATL(第二版)源代码资源大小 附带书籍源码。 深入体验VC开发源码 附带书籍源码。 十进制、十六进制、二进制互相转换的VC++程序 如题。 实现DLL拦截 在windows下当一个可执行文件运行时,Windows加载器将可执行模块映射到进程的地址空间,加载器分析可执行模块的输入表,并设法找出任何需要的DLL,并将它们映射到进程的地址空间。由于输入表是根据DLL名来进行查找,首先是查找当前目录下有没这文件,没有话在去查找系统目录C:\\Windows\\system32有没这文件,所以我们可以完全趁这个机会去劫持DLL,把他劫持下来后就可以在里面进行我们要的事情。 实现DLL内存补丁,DLL劫持技术([Symanli原创]) 同上。 实现EDIT控件自绘 如题。 使用VC编写的文件加解密操作类 自定义封装了一个文件加解密类,对文件加解密。lzari.c提供了lzari压缩算法的实现。 视频+语音+播放器源代码(不断更新内容) H.323 开发包与源码、P2P视频技术源码、TopPlayerSrc、VOD核心源码、大型多媒体视频会议服务器端和客户端源码、屏幕截取制作avi的源代码、视频会议系统、视频聊天源代码、优秀的IP网络语音通讯软件Speak Fleely源代码。源码与上面的有些重复。 手机远控电脑源码 分两个模式:一个是短信模式,一个浏览器模式。只要你遵循数据包的格式发送数据就一定可以成功的。不过不是源码。 手写输入法源码 太简单的实例。有利于对输入法开发的入门和深入学习。 鼠标钩子 钩子的实现。如题。 完全自绘软件更换皮肤例子 如题。 完整源码 统计后台([源码信息] 梦者 绿色下载器 流量商必备 ) 本统计后台无须安装数据库。可直接使用。 可多用户登录,多用户统计,顶级防刷,一键扣量,等等强大功能。 count.asp -- 统计面 conn.asp -- 里面有惊喜哦..想扣量 赶紧用记事本打开看看哦.有详细说明. user.asp -- 用户登录面 admin\admin_login_welcome.asp -- 管理员登录面 默认: admin 密码: xiaobing 网络电视软件源码 如题。 网络电台收听助手V3.0(VC源码) 如题。 文件(文件夹)加密解密工具源码 源码实现了主要功能:1 文件(夹)加密解密 2 文件夹伪装保护解除伪装 3 右键关联加密解密到系统菜单 4 开机最小化启动到托盘(气球提示) 5 支持文件(文件夹)拖动 6 支持WIN2000,XP,VISTA,WIN7。非常好的一个实例。 文件加密程序 自绘了很多控件,使用了多线程加密以及解密,支持换肤,非常好的一个实例。详细见源码啦。 文件夹加密小程序 简单的加密源码。 文件捆绑器源代码 文件操作的实例,主要功能在BindFileDlg。 文字图象识别OCR系统开发包 引用了第三方库OcrWencui.lib 来识别。 显示网络流量 监听了端口显示了网络流量,使用了绘图显示了出来。学习流量监控的好例子。是使用了自绘按钮实现的。 线程池的一种实现 如题。 相当不错的一个挂机锁 同上。 写日志log的类 封装了一个类Log,使用它输出信息。 循序渐进实现仿QQ界面 六个步骤实现了QQ类似界面、仿QQ界面上的各种自绘控件。 迅雷资源搜索 如题。 阳历阴历转换 封装了一个CLunar实现阳历阴历转换。 一个服务端只有7k大小的后门 RegOpenKeyEx和RegCreateKeyEx函数由于电脑经常会关闭,或者应用程序也会经常关闭,但有一些参数是经常需要保存。比如当你打开程序,并设置了窗口的大小,想每次打开时都设置窗口为上次打开的大小。这样就需要保存窗口的大小,那么窗口大小的参数保存到那里呢?其实在Windows里最方便的法,就是保存到注册表里。又比如游戏登录时,总是想保存最后一个登录的用户,那么也需要保存这个用户到注册表里。其实注册表是Windows保存系统配置的数据库,比如不同的语言设置,不同的时区设置,不同的用户登录,不同的权限等等。下面就来学习怎么样使用函数RegOpenKeyEx来打开注册表里的键和用函数RegCreateKeyEx来创建新的键。 一个可以获取硬件信息源代码 如题。 一个轻量级网络通信开发库源码 如题。 音乐播放器 如题。 音频录入mfc源码 如题。 用C写的播放器,超强 引用了libmad库、ogg库、Zlib库等等,强烈推荐学习。 优美菜单 自绘右键菜单。 在ToolBar上添加控件 在工具栏上添加COMBOBOX,EditBox,ProgressCtrl,Slider控件,根据相同的道理您还可以添加其他控件复选框、单选按钮等等 注册表监控程序 该程序的作用是记录系统发生的注册表操作,(只记录成功的,忽略失败的) 自己动手写操作系统 书籍。 自由更改文件对话框的外观 自绘对话框。 应用程序与驱动通信(DeviceIoControl ) 这是教程。 VC++系统开发实例精粹 光驱控制程序、枚举当前所有窗体、硬件信息查看器、注册表操作程序、USB编程、目录浏览器、资源管理器、二进制浏览器、日历管理器、字体设置对话框、任意形状窗体、自动停靠窗体、带图像的下拉列表框、实时曲线显示、OutLooK风格界面、屏幕保护系统、MP3播放器、MIDI音乐演奏器、VFW视频捕捉系统、256色转换灰度图、对比度拉伸、二值化变换、反色、亮度增减、取对数、取指数、直方图均衡、灰度均衡、阈值变换、图像镜像、图像平移、图像缩放、图像旋转、高斯平滑、均值滤波、拉普拉斯边缘检测、梯度锐化、值滤波、离散余弦变换、傅立叶变换、Walsh变换、方块编码、图像细化、Canny算子提取边缘、Hough变换、逆滤波处理、维纳滤波处理、文字、图像特效显示、带预览的图像选择框、图像浏览器、聊天室、CRC循环冗余检测、ICMP系统、能够发送附件的邮件程序、获取多个IP地址、获取计算机基本网络设置、获取计算机安装的各种网络协议、远程监控系统、FTP客户端、类似MSN的即时通信工具、文件共享系统、考试成绩管理系统、学生管理信息系统、二进制数据库编程、多线程实例、动态链接库(DLL)实例、消息循环重载实例、进程查看程序、文件关联实例、剪贴板查看器、键盘发声系统、运行后自销毁的程序、文件查找系统 、屏幕拷贝实例、文件分割器、密码探测器、带微调和滑动条控件的工具栏、透明窗体实例、状态栏动画、圆盘式和数字式时钟实例、Windows XP风格菜单、 Office XP风格菜单、Windows XP风格标题栏、Windows XP风格对话框、Windows XP风格按钮和滚动条、基于DirectSound的声音播放器、AVI视频制作实例、电影播放器、仿Winamp多媒体播放器、BMP图片浏览器、小波算法的VC++实现、基因算法的VC++实现、细胞识别统计系统、基于神经网络的文字识别系统、车牌定位与识别系统、点对点文件传输、Sniff网络嗅探器、基于UDP的网段扫描器、网络流量监控系统、网络语音电话、HTTP服务器实例、数据库浏览器、数据库查询器、报表打印实例、课程管理信息系统、库存管理信息系统、医院管理信息系统。 ----------VC系统开发项目 VC++餐厅餐饮管理系统 这是一个毕业课程设计,含论文,简单明了,全部引用了MFC控件实现,主要是操作数据库的部分。 VC++开发的仓库管理系统设计文档和源码 如题,含论文,简单明了,全部引用了MFC控件实现,主要是操作数据库的部分。 VC++库存管理系统(毕业设计) 如题,含论文,简单明了,全部引用了MFC控件实现,主要是操作Access数据库的部分。 VC++图书管理系统完整版 一个简单的客户端操作数据库的程序。 餐饮管理系统(全程开发) 同下。有测试部分。 餐饮管理系统 如题,简单。 超市进销存管理系统 基本功能:前台销售结帐、基本信息管理、基本信息查询、日结查询、超市小票打印。操作ORACLE数据库。 局域网监控系统 主要功能:系统采用人机交互的方式,界面美观友好、屏幕信息需要时时显示,网络延时不能大于1秒、服务器端可以随时运行,只要客户端运行,就能够显示屏幕信息、系统运行时占用内存不能大于10MB,以免影响系统性能、客户端运行时需要隐藏显示窗口,起其感觉不到在运行。 库存管理信息系统 在运行系统前,首先要安装SQL Server数据库,注意要设定用户名为“sa”,密码为空。 可以有两种方法创建该数据库:1.使用SQL server查询分析器运行Database目录下的sql.txt的sql语句,这样会创建stock数据库。2.使用SQL Server的企业管理器直接附加“附加数据库文件”目录下的Stock.mdf文件。系统默认帐号:admin 密码:888888 企业办公管理系统 这个源码不错,自定义了很多类,适合学习。 企业电话语音录音管理系统 主要功能:采用人机对话的操作方式,界面设计美观友好、操作灵活、方便、快捷、准确、数据存储安全可靠。系统可以进行来电显示和来电接听等功能。提供电话拨出功能,可以通过程序拨出电话。提供客户管理功能,记录客户信息,并可以在拨出电话时以电话簿的形式显示客户信息。提供电话录音功能,当电话接通时开始录音,当电话挂断时结束录音。提供录音管理功能,可以通过程序修改录音文件的存储位置。系统最大限度地实现了易维护性和易操作性。系统运行稳定、安全可靠。适合学习。 企业短信群发管理系统 主要功能:电话簿管理。常用语管理。短信息发送。短信息接收。短信猫设置。不过使用了第三方库实现发送接受等功能。 人力资源管理系统 主要功能:系统界面设计美观、友好;智能化程度高、操作灵活、方便;系统运行稳定、安全可靠;反应快速、计算准确;实现新员工入职登记、查询修改及入职合同的录入、编辑;登记并可以浏览日常考勤信息;记录公司定期的员工考核成绩;实现部门用人申请的登记;实现应聘者信息备档;实现工资单自动录入及缺勤原因的扣资计算。 社区视频监控系统 本程序有三个实例,msado15(数据库)、Autodlg(操作文件)、Capture(主要的程序)。本实例是天敏VC4000监控卡,其使用了MPG4c32.dll、MediaTransmit.dll、MediaTransmit.lib、MediaTransmit.h、Sa7134Capture.dll、Sa7134Capture.lib和Sa7134Capture.h几个文件,在运行程序前,需要将这些文件添加到当前工程。程序没有提供这些文件。 图书管理系统 如题。 物流综合管理系统VC源码+毕业设计 如题。 学生管理系统 如题。 学生考试系统 如题。
Contents 开发桌面应用 设置开发环境 系统要求 安装开发人员工具 启用设备进行开发 开发人员模式功能和调试 创建一个开发者帐户 入门 概述 适用于 Windows 应用的 Visual Studio 模板 生成适用于 Windows 11 的应用 让你的应用在 Windows 11 上出色表现 设计和 UI 概述 Windows 11 的设计 Windows 11 设计原则 Windows 11 签名体验 Geometry 颜色 分层和提升 材料 图标 版式 设计基础知识 概述 应用设计简介 导航基础知识 概述 实现基本导航 导航历史记录和向后导航 命令基础知识 内容基础知识 教程 创建用户界面 创建自适应布局 设置控件的样式 布局 概述 面布局 屏幕大小和断点 响应式设计技术 使用 XAML 的布局 显示多个视图 显示多个视图 使用 AppWindow 使用 ApplicationView 对齐、边距和填充 面板 概述 教程:使用布局面板 拆分视图 自定义面板 自定义面板示例:BoxPanel 附加的布局 转换 概述 3D 透视效果 Z 深度和阴影 控制 概述 控件和事件简介 命令处理简介 基本输入 按钮 复选框 组合框和列表框 超链接 单选按钮 评分控件 滑块 切换开关 集合 概述 列表视图和网格视图 翻转视图 PipsPager 树视图 ItemsRepeater 项目容器和模板 项目容器和模板 数据模板选择 列表视图项模板 网格视图项模板 选择和交互 集合命令处理 “选择模式”概述 轻扫 下拉刷新 筛选集合 其他集合选项和自定义 反转列表 嵌套 UI 对话框和浮出控件 概述 对话框 浮出控件 教学提示 窗体 媒体、图形和形状 动画图标 图像和图像画笔 墨迹 媒体播放 自定义传输控件 形状 Web 视图 菜单和工具栏 菜单和上下文菜单 命令栏 命令栏浮出控件 菜单浮出控件和菜单栏 导航 痕迹导航栏 列表/详细信息 导航视图 Pivot 选项卡视图 人员 联系人卡片 头像图片 选取器 颜色选取器 日期和时间控件 日历日期选取器 日历视图 日期选取器 时间选取器 滚动和布局 Expander 滚动和平移控件 语义式缩放 双窗格视图 状态和信息 进度 工具提示 信息栏 文本 概述 自动建议框 文本块 RTF 块 文本框 富编辑框 密码框 数字框 标签 内容链接 手写视图 样式 概述 颜色 版式 图标 概述 应用图标和徽标 Segoe MDL2 图标 亚克力 Mica 显示焦点 声音 写入样式 XAML 画笔 XAML 样式 XAML 控件模板 ResourceDictionary 和 XAML 资源引用 XAML 主题资源 间距 角半径 移动 概述 计时和缓动 方向性和引力 运动练习 面过渡 连贯的动画 视差 XAML 的动画 属性动画 情节提要动画 关键帧以及缓动函数动画 Shell Toast 通知 UX 指南 发送本地 Toast C# 应用 C++ UWP 应用 C++ WRL 应用 其他应用 Toast 内容 Content 架构 计划 toast 其他功能 自定义音频 进度条 挂起更新 自定义时间戳 集合 标头 通知侦听器 已过时 锁屏提醒通知 推送通知 概述 WNS 优先级 将 WNS 流量加入允许列表 由推送通知向导生成的代码 任务栏 将应用固定到任务栏 标题栏 动态磁贴 辅助磁贴 指南 固定到“开始”屏幕 固定到任务栏 桌面应用程序 磁贴内容 磁贴内容架构 特殊磁贴模板 发送本地磁贴通知 可追踪的磁贴通知 主要磁贴 API 磁贴和 Toast 通知的语言、比例和高对比度支持 杂项 通知可视化工具 通知传递方法 通知通道类型 使用 Webpush 和 VAPID 的备用通道 定期通知 输入和交互 概述 输入基础版 指针输入 凝视 笔和 Windows Ink 教程:向应用添加墨迹支持 识别笔划墨迹 存储和检索笔划墨迹 添加 InkToolbar 触摸 鼠标 Keyboard 访问键 键盘加速键 键盘事件 适用于键盘、手柄、遥控器和辅助功能工具的焦点导航 编程焦点导航 响应触摸键盘的存在 使用输入范围更改触摸键盘 文本输入 自定义文本输入 文本缩放 选择文本和图像 输入法编辑器 输入法编辑器要求 ......
经典的经典! 目 录 译者序 序 前言 第一部分 快速开发的基础 第1章 Delphi 5下的Windows编程 1 1.1 Delphi产品家族 1 1.2 Delphi是什么 3 1.2.1 可视化开发环境 3 1.2.2 编译器的速度和已编译代码的效 率 4 1.2.3 编程语言的功能及其复杂性 4 1.2.4 数据库结构的灵活性和可扩展性 5 1.2.5 框架对设计和使用模式的扩充 5 1.3 历史回顾 5 1.3.1 Delphi 1 5 1.3.2 Delphi 2 6 1.3.3 Delphi 3 6 1.3.4 Delphi 4 7 1.3.5 Delphi 5 7 1.3.6 未来 7 1.4 Delphi 5的IDE 7 1.4.1 主窗口 8 1.4.2 窗体设计器 9 1.4.3 Object Inspector 9 1.4.4 代码编辑器 9 1.4.5 代码浏览器 10 1.4.6 源代码生成器 10 1.5 创建一个简单的应用程序 11 1.6 事件机制的优势在哪里 12 1.7 加速原型化 13 1.8 可扩展的组件和环境 13 1.9 IDE最重要的十点功能 13 1.10 总结 15 第2章 Object Pascal语言 16 2.1 注解 16 2.2 新的过程和函数特征 17 2.2.1 圆括号 17 2.2.2 重载 17 2.2.3 缺省值参数 17 2.3 变量 18 2.4 常量 19 2.5 运算符 20 2.5.1 赋值运算符 20 2.5.2 比较运算符 20 2.5.3 逻辑表达式 21 2.5.4 算术运算符 21 2.5.5 按位运算符 22 2.5.6 加减运算过程 22 2.6 Object Pascal类型 23 2.6.1 类型的比较 23 2.6.2 字符 24 2.6.3 字符串 24 2.6.4 变体类型 32 2.6.5 Currency 39 2.7 用户自定义类型 39 2.7.1 数组 39 2.7.2 动态数组 40 2.7.3 记录 41 2.7.4 集合 42 2.7.5 对象 43 2.7.6 指针 44 2.7.7 类型别名 46 2.8 强制类型转换和类型约定 46 2.9 字符串资源 47 2.10 测试条件 47 2.10.1 if语句 47 2.10.2 case语句 48 2.11 循环 49 2.11.1 for循环 49 2.11.2 while循环 49 2.11.3 repeat...until 50 2.11.4 Break()过程 50 2.11.5 Continue()过程 50 2.12 过程和函数 50 2.13 作用域 50 2.14 单元 55 2.14.1 uses子句 55 2.14.2 循环单元引用 56 2.15 包 56 2.15.1 使用Delphi的包 56 2.15.2 包的语法 56 2.16 面向对象编程 57 2.17 使用Delphi对象 58 2.17.1 声明和实例化 58 2.17.2 析构 59 2.18 方法 59 2.18.1 方法的类型 60 2.18.2 属性 61 2.18.3 可见性表示符 62 2.18.4 友类 62 2.18.5 对象的秘密 63 2.18.6 TObject:所有对象的祖先 63 2.18.7 接口 63 2.19 结构化异常处理 66 2.19.1 异常类 68 2.19.2 执行的流程 70 2.19.3 重新触发异常 71 2.20 运行期类型信息 72 2.21 总结 72 第3章 Win32 API 73 3.1 对象:以前和现在 73 3.1.1 内核对象 73 3.1.2 GDI和用户对象 75 3.2 多任务和多线程 75 3.3 Win32内存管理 76 3.3.1 什么是线性内存模式 76 3.3.2 Win32系统是怎样管理内存的 76 3.4 Win32的错误处理 78 3.5 总结 78 第4章 应用程序框架和设计 79 4.1 理解Delphi环境和项目的体系结构 79 4.2 构成Delphi 5项目的文件 79 4.2.1 项目文件 80 4.2.2 单元文件 80 4.2.3 窗体文件 80 4.2.4 资源文件 81 4.2.5 项目选项及桌面设置文件 81 4.2.6 备份文件 81 4.2.7 包文件 82 4.3 项目管理提示 82 4.3.1 一个项目一个目录 82 4.3.2 共享代码的单元 82 4.3.3 多项目管理 84 4.4 Delphi 5项目的框架类 84 4.4.1 TForm类 84 4.4.2 TApplication类 89 4.4.3 TApplication的方法 91 4.4.4 TApplication的事件 92 4.4.5 TScreen类 93 4.5 定义公共体系结构:使用对象库 93 4.5.1 考虑应用程序的体系结构 93 4.5.2 Delphi固有的体系结构 94 4.5.3 体系结构的例子 94 4.5.4 子窗体TChildForm 94 4.5.5 数据库基础模式窗体TDBMode- Form 96 4.5.6 数据库导航/状态窗体TDBNavstat- Form 97 4.5.7 使用框架进行应用程序结构 设计 102 4.6 一些项目管理的功能 103 4.6.1 在项目添加资源 103 4.6.2 改变屏幕光标 105 4.6.3 避免创建一个窗体的多个实例 106 4.6.4 在DPR文件增加代码 107 4.6.5 覆盖应用程序的异常处理 107 4.6.6 显示一个封面 109 4.6.7 使窗体尺寸最小 110 4.6.8 运行没有窗体的项目 111 4.6.9 退出Windows 112 4.6.10 防止关闭Windows 113 4.7 总结 113 第5章 理解Windows消息 114 5.1 什么是消息 114 5.2 消息的类型 115 5.3 Windows消息系统是如何工作的 115 5.4 Delphi的消息系统 116 5.5 消息处理 117 5.5.1 消息处理:不是无约定的 118 5.5.2 对Result域赋值 119 5.5.3 TApplication的OnMessage事件 119 5.6 发送自己的消息 120 5.6.1 Perform() 120 5.6.2 sendMessage()和PostMessage() 120 5.7 非标准的消息 121 5.7.1 通知消息 121 5.7.2 VCL内部的消息 122 5.7.3 用户自定义的消息 122 5.8 一个消息系统的剖析:VCL 123 5.9 消息与事件之间的关系 128 5.10 总结 129 第6章 代码标准文档 130 6.1 一般的源代码格式规则 130 6.1.1 缩进 130 6.1.2 边距 130 6.1.3 begin...end 130 6.2 Object Pascal 131 6.2.1 括号 131 6.2.2 保留字和关键字 131 6.2.3 过程和函数 131 6.2.4 变量 132 6.2.5 类型 133 6.2.6 构造类型 133 6.2.7 语句 134 6.2.8 结构化异常处理 134 6.2.9 类 135 6.3 文件 136 6.3.1 项目文件 136 6.3.2 窗体文件 136 6.3.3 数据模块文件 137 6.3.4 远程数据模块文件 137 6.3.5 单元文件 137 6.3.6 文件头 138 6.4 窗体与数据模块 138 6.4.1 窗体 138 6.4.2 数据模块 139 6.5 包 139 6.5.1 运行期包与设计期包 139 6.5.2 文件命名标准 140 6.6 组件 140 6.6.1 自定义组件 140 6.6.2 组件实例的命名规则 140 6.7 代码标准文档升级 141 第7章 使用ActiveX控件 142 7.1 什么是ActiveX控件 142 7.2 何时使用ActiveX控件 142 7.3 把ActiveX控件加到组件面板上 143 7.4 Delphi组件外套 144 7.4.1 外套文件是从哪来的 152 7.4.2 枚举 152 7.4.3 控件接口 152 7.4.4 TOleControl的派生类 152 7.4.5 方法 152 7.4.6 属性 153 7.5 在应用程序使用ActiveX控件 153 7.6 发布带有ActiveX控件的应用程序 154 7.7 注册ActiveX控件 155 7.8 BlackJack:一个OCX示范程序 155 7.8.1 纸牌 155 7.8.2 游戏 157 7.8.3 调用ActiveX控件的方法 165 7.9 总结 166 第二部分 高级技术 第8章 使用GDI和字体的图像编程 167 8.1 TImage:Delphi的图像显示 167 8.2 存储图像 168 8.3 使用TCanvas的属性 169 8.3.1 画笔 170 8.3.2 使用TCanvas.Pixels属性 175 8.3.3 使用刷子 175 8.3.4 使用字体 180 8.3.5 使用CopyMode属性 181 8.3.6 其他属性 184 8.4 使用TCanvas的方法 184 8.4.1 用TCanvas画线 184 8.4.2 用TCanvas画几何形状 185 8.4.3 画图的示范程序 185 8.4.4 用TCanvas输出文字 189 8.5 坐标系统和映射模式 193 8.5.1 设备坐标系 193 8.5.2 逻辑坐标系 194 8.5.3 屏幕坐标系 194 8.5.4 窗体坐标系 194 8.5.5 坐标映射 195 8.5.6 设置映射模式 196 8.5.7 设置窗口/视区范围 196 8.5.8 关于映射模式的示范程序 197 8.6 创建一个绘画程序 202 8.7 编写动画程序 215 8.8 高级字体 221 8.8.1 Win32字体类型 222 8.8.2 基本字体元素 222 8.8.3 GDI字体分类 223 8.8.4 显示不同字体 223 8.9 实际创建一种字体 224 8.9.1 这个程序是如何工作的 224 8.9.2 显示字体的有关信息 230 8.10 总结 233 第9章 动态链接库 234 9.1 究竟什么是DLL 234 9.2 静态链接与动态链接 235 9.3 为什么要使用DLL 236 9.3.1 共享代码、资源和数据 236 9.3.2 隐藏实现的细节 237 9.3.3 自定义控件 237 9.4 创建和使用DLL 237 9.4.1 数美分:一个简单的DLL 237 9.4.2 显示DLL的模式窗体 239 9.5 显示DLL的无模式窗体 241 9.6 在Delphi应用程序使用DLL 242 9.7 DLL的入口函数和出口函数 246 9.7.1 进程/线程初始化和终止例程 246 9.7.2 DLL入口/出口示例 246 9.8 DLL的异常 250 9.8.1 在16位Delphi捕捉异常 250 9.8.2 异常和Safecall指示符 250 9.9 回调函数 250 9.9.1 使用回调函数 253 9.9.2 拥有者绘制的列表框 253 9.10 从DLL调用回调函数 253 9.11 在不同的进程间共享DLL数据 256 9.11.1 一个可以被共享数据的DLL 256 9.11.2 访问DLL的共享数据 259 9.12 引出DLL的对象 261 9.13 总结 265 第10章 Delphi 5的打印 266 10.1 TPrinter对象 266 10.2 TPrinter.Canvas 267 10.3 简单打印 267 10.3.1 打印TMemo组件的内容 267 10.3.2 打印位图 268 10.3.3 打印RTF格式的文本 269 10.4 打印窗体 269 10.5 高级打印 270 10.5.1 打印分栏报表 270 10.5.2 放弃打印进程 275 10.5.3 打印信封 275 10.5.4 抽象打印 276 10.5.5 一个简单的打印预览程序 285 10.6 其他打印任务 286 10.6.1 TDeviceMode结构 286 10.6.2 设置打印份数 288 10.6.3 设置打印方向 288 10.6.4 设置纸张尺寸 288 10.6.5 设置纸张的长度 289 10.6.6 设置的宽度 289 10.6.7 设置打印比例 289 10.6.8 设置打印颜色 289 10.6.9 设置打印质量 289 10.6.10 设置双面打印 290 10.6.11 指定默认打印机 290 10.7 获取打印机信息 291 10.7.1 GetDeviceCaps()和DeviceCapa- bilities() 292 10.7.2 获取打印机信息的示范程序 292 10.8 总结 303 第11章 编写多线程应用程序 304 11.1 对线程的解释 304 11.1.1 一种新型的多任务 304 11.1.2 在Delphi程序使用多线程 304 11.1.3 关于线程的滥用 305 11.2 TThread对象 305 11.2.1 TThread基础 305 11.2.2 TThread实例 307 11.2.3 线程的终止 307 11.2.4 与VCL同步 308 11.2.5 一个演示程序 310 11.2.6 优先级和时序安排 311 11.2.7 挂起和唤醒线程 313 11.2.8 测试线程的时间 313 11.3 管理多线程 314 11.3.1 线程局部存储 314 11.3.2 线程同步 317 11.4 一个多线程的示范程序 325 11.4.1 用户界面 326 11.4.2 搜索线程 330 11.4.3 调整优先级 334 11.5 多线程与数据库 335 11.6 多线程与图形处理 340 11.7 总结 343 第12章 文件处理 344 12.1 处理文件的输入/输出 344 12.1.1 文本文件的处理 344 12.1.2 类型文件的处理 348 12.1.3 无类型文件的处理 356 12.2 TTextRec 和TFileRec结构 359 12.3 内存映射文件 360 12.3.1 内存映射文件的应用 360 12.3.2 使用映射文件 361 12.3.3 内存映射文件的一致性 366 12.3.4 文本搜索实用程序 366 12.4 目录和驱动器 373 12.4.1 获得有效驱动器和驱动器类型列 表 373 12.4.2 获取驱动器信息 374 12.4.3 获取Windows目录位置 376 12.4.4 获取系统目录的位置 376 12.4.5 获取当前目录 377 12.4.6 在目录查找文件 377 12.4.7 复制和删除目录树 380 12.4.8 获取文件的版本信息 382 12.4.9 获取版本号 387 12.4.10 获得操作系统信息 388 12.4.11 使用TVerInfoRes类 388 12.5 使用SHFileOperation()函数 390 12.6 总结 391 第13章 核心技术 392 13.1 高级消息处理 392 13.1.1 子类化 392 13.1.2 HookMainWindow() 396 13.2 防止同时出现多个应用程序实例 397 13.3 使用Delphi的BASM 401 13.3.1 BASM是如何工作的 401 13.3.2 简易的参数访问 402 13.3.3 var声明的参数 402 13.3.4 Register调用约定 403 13.3.5 全汇编过程 403 13.3.6 记录 403 13.4 使用挂钩 404 13.4.1 设置挂钩 404 13.4.2 使用挂钩函数 405 13.4.3 使用脱钩函数 405 13.4.4 使用SendKeys:一个JournalPlay- back类型的挂钩 405 13.5 使用C/C++的OBJ文件 416 13.5.1 调用一个函数 416 13.5.2 命名问题 417 13.5.3 共享数据 417 13.5.4 使用Delphi RTL 418 13.6 使用C++类 422 13.7 替换 426 13.7.1 generic替换 426 13.7.2 WM_COPYDATA 435 13.8 获取包的信息 440 13.9 总结 443 第14章 获取系统信息 444 14.1 InfoForm:获取一般信息 444 14.1.1 格式化字符串 444 14.1.2 获取内存状态 445 14.1.3 获取操作系统版本信息 446 14.1.4 获取目录信息 447 14.1.5 获取系统信息 448 14.1.6 检查环境 450 14.2 平台无关性 455 14.3 Windows 95/98: 使用ToolHelp32 455 14.3.1 快照 456 14.3.2 列举进程 457 14.3.3 列举线程 460 14.3.4 列举模块 461 14.3.5 列举堆 462 14.3.6 堆的视图 465 14.3.7 程序源码 466 14.4 Windows NT/2000: PSAPI 474 14.5 总结 485 第15章 移植到Delphi 5 486 15.1 Delphi 5的新功能 486 15.1.1 哪个版本 486 15.1.2 单元、组件和包 487 15.2 从Delphi 4移植到Delphi 5 487 15.2.1 IDE问题 488 15.2.2 RTL问题 488 15.2.3 VCL问题 488 15.2.4 Internet开发问题 488 15.2.5 数据库问题 488 15.3 从Delphi 3移植到Delphi 5 489 15.3.1 无符号的32位整数 489 15.3.2 64位整数 490 15.3.3 Real类型 490 15.4 从Delphi 2移植到Delphi 5 490 15.4.1 改变为Boolean类型 490 15.4.2 ResourceString 490 15.4.3 RTL的改变 491 15.4.4 TCustomForm 491 15.4.5 GetChildren() 491 15.4.6 自动化服务器 491 15.5 从Delphi 1移植到Delphi 5 491 15.5.1 字符串和字符 492 15.5.2 变量长度和范围 497 15.5.3 记录的排列 497 15.5.4 32位的数学运算 498 15.5.5 TDateTime类 498 15.5.6 单元结束代码 498 15.5.7 汇编语言 499 15.5.8 调用约定 499 15.5.9 动态链接库 500 15.5.10 Windows操作系统的变化 501 15.5.11 32位的地址空间 501 15.5.12 32位资源 501 15.5.13 VBX控件 502 15.5.14 Windows API函数的变化 502 15.5.15 16位和32位并存 504 15.6 总结 504 第16章 MDI应用程序 505 16.1 创建MDI应用程序 505 16.1.1 理解MDI基础 505 16.1.2 子窗体 506 16.1.3 主窗体 522 16.2 菜单 528 16.2.1 用MDI程序合并菜单 528 16.2.2 在菜单列出打开的文档 528 16.3 杂类MDI技术 529 16.3.1 在MDI客户区输出一幅位图 529 16.3.2 创建一个隐藏的子窗体 534 16.3.3 最小化、最大化、还原所有MDI 子窗体 536 16.4 总结 538 第17章 用剪贴板共享信息 539 17.1 剪贴板基础 539 17.1.1 剪贴板对文本操作 540 17.1.2 剪贴板对位图操作 540 17.2 创建你自己的剪贴板格式 541 17.2.1 创建一个感知剪贴板的对象 541 17.2.2 使用自定义的剪贴板格式 545 17.3 总结 547 第18章 多媒体编程 548 18.1 创建一个简单的媒体播放器 548 18.2 播放WAV文件 549 18.3 播放视频 550 18.3.1 显示第一帧 550 18.3.2 使用Display属性 551 18.3.3 使用DisplayRect属性 551 18.3.4 理解TMediaPlayer事件 552 18.3.5 DDGMPlay的源代码 552 18.4 设备支持 553 18.5 创建音频CD播放器 554 18.5.1 显示闪屏 555 18.5.2 开始编写CD播放器 555 18.5.3 更新CD播放器的信息 557 18.5.4 刷新CD播放器的方法 558 18.5.5 CD播放器的源代码 559 18.6 总结 565 第19章 测试与调试 566 19.1 常见的编程错误 567 19.1.1 在类的实例创建之前使用了它 567 19.1.2 确保类的实例被释放 567 19.1.3 掌握指针 568 19.1.4 使用未初始化的PChar类变量 568 19.1.5 释放空指针 569 19.2 使用内部集成调试器 569 19.2.1 使用命令行参数 569 19.2.2 断点 569 19.2.3 逐行执行代码 571 19.2.4 使用Watch窗口 572 19.2.5 Debug Inspector 572 19.2.6 计算和修改 572 19.2.7 访问调用栈 572 19.2.8 查看线程 573 19.2.9 事件日志 573 19.2.10 模块视图 574 19.2.11 调试DLL 574 19.2.12 CPU视图 575 19.3 总结 575 第三部分 基于组件的开发 第20章 VCL元素和运行期类型信息 577 20.1 什么是组件 577 20.2 组件的类型 578 20.2.1 标准控件 578 20.2.2 自定义控件 578 20.2.3 图形控件 578 20.2.4 非可视组件 579 20.3 组件的结构 579 20.3.1 属性 579 20.3.2 属性的类型 580 20.3.3 方法 580 20.3.4 事件 581 20.3.5 流属性 582 20.3.6 拥有关系 582 20.3.7 父子关系 583 20.4 可视组件的层次关系 583 20.4.1 TPersistent类 584 20.4.2 TComponent类 584 20.4.3 TControl类 585 20.4.4 TWinControl类 585 20.4.5 TGraphicControl类 586 20.4.6 TCustomControl类 586 20.4.7 其他类 587 20.5 运行期类型信息 589 20.5.1 TypInfo.pas单元:定义运行类型 信息 589 20.5.2 获取类型信息 591 20.5.3 获取方法指针的类型信息 596 20.5.4 获取有序类型的类型信息 600 20.5.5 通过RTTI给属性赋值 604 20.6 总结 606 第21章 编写自定义组件 607 21.1 组件设计基础 607 21.1.1 确定是否需要编写组件 607 21.1.2 编写组件的一般步骤 607 21.1.3 确定一个祖先类 608 21.1.4 创建一个组件单元 609 21.1.5 添加属性 609 21.1.6 加入事件 615 21.1.7 创建自定义的方法 619 21.1.8 构造器和析构器 619 21.1.9 注册组件 620 21.1.10 测试组件 621 21.1.11 提供组件图标 623 21.2 一个组件的示例 623 21.2.1 扩展Win32组件外套功能 624 21.2.2 TddgRunButton: 创建属性 631 21.3 TddgButtonEdit:一个容器组件 636 21.3.1 设计 636 21.3.2 显现属性 637 21.3.3 显现事件 637 21.3.4 TddgDigitalClock:创建组件事 件 639 21.3.5 把窗体加到组件面板上 642 21.4 组件包 644 21.4.1 为什么使用包 644 21.4.2 什么情况下不使用包 645 21.4.3 包的类型 645 21.4.4 包文件 645 21.4.5 在Delphi 5应用程序使用包 645 21.4.6 把包安装到IDE 645 21.4.7 设计自己的包 646 21.4.8 包的版本 649 21.4.9 包的编译指令 649 21.4.10 关于{$WEAKPACKAGEUNIT} 指令 649 21.4.11 包的命名约定 650 21.5 附加包 650 21.6 总结 655 第22章 高级组件技术 656 22.1 伪可视组件 656 22.1.1 扩展提示功能 656 22.1.2 创建一个THintWindow的派生 类 656 22.1.3 椭圆型的窗口 658 22.1.4 使派生的提示窗口有效 659 22.1.5 放置TDDGHintWindow 659 22.2 动态组件 659 22.2.1 走马灯组件 659 22.2.2 编写这个组件 659 22.2.3 在内存的位图上输出 659 22.2.4 输出组件 661 22.2.5 使组件动起来 661 22.2.6 测试TddgMarquee组件 668 22.3 编写属性编辑器 670 22.3.1 派生出一个属性编辑器对象 670 22.3.2 把属性当作文本来编辑 671 22.3.3 注册新的属性编辑器 674 22.3.4 用对话框来编辑属性 675 22.4 组件编辑器 677 22.4.1 TComponentEditor 677 22.4.2 一个简单的组件 678 22.4.3 一个简单的组件编辑器 679 22.4.4 注册组件编辑器 679 22.5 对非公开的组件数据进行流操作 681 22.5.1 声明属性 681 22.5.2 DefineProperty()的例子 682 22.5.3 TddgWaveFile:调用Define- BinaryProperty()的例子 684 22.6 属性类别 690 22.6.1 类别的类 690 22.6.2 自定义类别 691 22.7 组件列表:TCollection和 TCollectionItem 694 22.7.1 声明TCollectionItem类: TRunBtnItem 695 22.7.2 声明TCollection类: TRunButtons 696 22.7.3 实现TddgLaunchPad、TRun- BtnItem和TRunButtons 696 22.7.4 用对话框属性编辑器编辑 TCollectionItem组件的列表 702 22.8 总结 711 第23章 COM和ActiveX 712 23.1 COM基础 712 23.1.1 COM:组件对象模型 712 23.1.2 COM、ActiveX、OLE的异同 713 23.1.3 术语 713 23.1.4 ActiveX的伟大之处 713 23.1.5 OLE 1和OLE 2 713 23.1.6 结构化存储 714 23.1.7 统一数据传输 714 23.1.8 线程模式 714 23.1.9 COM+ 714 23.2 COM与Object Pascal 714 23.2.1 接口 715 23.2.2 使用接口 716 23.2.3 HResult返回类型 719 23.3 COM对象和类工厂 720 23.3.1 TComObject和TComObject- Factory 720 23.3.2 in-process COM服务器 721 23.3.3 创建一个in-proc COM服务器实 例 722 23.3.4 out-of-process COM服务器 723 23.4 聚合 723 23.5 分布式COM 723 23.6 自动化 724 23.6.1 IDispatch接口 724 23.6.2 类型信息 725 23.6.3 后期捆绑与前期捆绑 725 23.6.4 注册 725 23.6.5 创建自动化服务器 725 23.6.6 创建自动化控制器 740 23.7 高级自动化技术 745 23.7.1 自动化事件 745 23.7.2 自动化集合 754 23.7.3 类型库新的接口类型 760 23.7.4 交换二进制数据 761 23.7.5 COM的语言支持 763 23.8 MTS 766 23.8.1 为什么会出现MTS 767 23.8.2 什么是MTS 767 23.8.3 Delphi的MTS 770 23.9 TOleContainer 785 23.9.1 一个简单的范例程序 785 23.9.2 一个稍复杂的范例程序 787 23.10 总结 794 第24章 扩展Windows外壳 795 24.1 托盘图标组件 795 24.1.1 API 795 24.1.2 处理消息 797 24.1.3 图标及提示 797 24.1.4 鼠标点击 798 24.1.5 隐藏应用程序 799 24.1.6 托盘图标应用程序举例 805 24.2 应用程序桌面工具栏 807 24.2.1 API 807 24.2.2 TAppBar:AppBar的窗体 808 24.2.3 使用TAppBar 815 24.3 外壳链接 817 24.3.1 获取一个IShellLink实例 818 24.3.2 使用IShellLink 819 24.3.3 创建一个外壳链接 820 24.3.4 获取及设置链接信息 821 24.3.5 一个例子程序 824 24.4 外壳扩展 831 24.4.1 COM对象向导 832 24.4.2 复制钩子处理器 832 24.4.3 上下文菜单处理器 836 24.4.4 图标处理器 844 24.5 总结 850 第25章 创建ActiveX控件 851 25.1 为什么要创建ActiveX控件 851 25.2 创建一个ActiveX控件 851 25.2.1 ActiveX控件向导 852 25.2.2 ActiveX框架 875 25.2.3 属性 877 25.3 ActiveForm 886 25.4 在Web上的ActiveX 892 25.4.1 与Web浏览器通信 892 25.4.2 Web发布 901 25.5 总结 903 第26章 使用Delphi Open Tools API 904 26.1 Open Tools API接口 904 26.2 使用Open Tools API 905 26.2.1 Dumb向导 905 26.2.2 Wizard向导 908 26.2.3 DDG Search 916 26.3 窗体向导 925 26.4 总结 931 第27章 使用Delphi开发CORBA 932 27.1 ORB 932 27.2 接口 932 27.3 Stub和Skeleton 933 27.4 VisiBroker的ORB 933 27.4.1 VisiBroker的运行时支持服务 933 27.4.2 VisiBroker管理工具 934 27.5 Delphi的CORBA支持 934 27.5.1 CORBA的类支持 935 27.5.2 CORBA对象向导 936 27.5.3 Delphi的类型库编辑器 941 27.6 在Delphi 5创建CORBA解决方案 942 27.6.1 建立一个CORBA服务器 942 27.6.2 实现IQueryServer的方法 943 27.6.3 编译一个静态绑定的CORBA 客户 956 27.6.4 编译一个动态绑定的CORBA 客户 958 27.6.5 跨语言的CORBA 960 27.7 使用VisiBroker ORB 967 27.8 总结 967 第四部分 开发数据库 第28章 编写桌面数据库应用程序 969 28.1 使用数据集 969 28.1.1 VCL的数据库体系结构 970 28.1.2 BDE数据访问组件 970 28.1.3 打开一个数据集 971 28.1.4 浏览数据集 971 28.1.5 对字段操作 975 28.1.6 刷新数据集 985 28.1.7 变化的状态 986 28.1.8 过滤器 986 28.2 使用TTable组件 988 28.2.1 查找记录 988 28.2.2 主/细表 990 28.2.3 TTable的事件 990 28.2.4 通过代码创建一个数据库表 991 28.3 数据模块 992 28.4 搜索、设置范围和过滤的示例 992 28.4.1 数据模块 992 28.4.2 主窗体 993 28.4.3 Range窗体 995 28.4.4 Key Search窗体 996 28.4.5 Filter窗体 998 28.5 TQuery和TStoredProc:其他数据 集 1000 28.6 文本文件数据库表 1001 28.6.1 概要文件 1001 28.6.2 数据文件 1002 28.6.3 使用文本数据库表 1002 28.6.4 限制 1003 28.6.5 从文本数据库表引入数据 1003 28.7 用ODBC连接 1004 28.7.1 到哪儿找ODBC驱动程序 1004 28.7.2 ODBC实例:连接MS Access 1004 28.8 ActiveX Data Object 1007 28.8.1 Microsoft 数据访问简介 1007 28.8.2 ADOExpress组件 1008 28.8.3 连接一个ADO数据存储 1008 28.8.4 示例:通过ADO连接 1010 28.8.5 ADO开发 1011 28.9 总结 1011 第29章 开发客户/服务器应用程序 1012 29.1 为什么要采用客户/服务器结构 1012 29.2 客户/服务器体系结构 1013 29.2.1 客户 1013 29.2.2 服务器 1013 29.2.3 业务规则 1014 29.2.4 胖客户、胖服务器、间层:业 务规则属于哪一端 1014 29.3 客户/服务器模型 1015 29.3.1 两层模型 1015 29.3.2 三层模型 1016 29.4 客户/服务器与桌面数据库开发的比 较 1017 29.4.1 面向集合与面向记录 1017 29.4.2 数据安全 1017 29.4.3 记录锁定方法 1017 29.4.4 数据完整性 1018 29.4.5 面向事务 1018 29.5 SQL在客户/服务器开发的角色 1018 29.6 Delphi客户/服务器开发 1019 29.7 服务器:后端设计 1019 29.7.1 数据库对象 1019 29.7.2 定义数据库表 1020 29.7.3 使用域 1021 29.7.4 用视图、存储过程和触发器定义 业务规则 1022 29.7.5 数据库对象的访问权限 1027 29.8 客户:前端开发 1028 29.8.1 使用TDatabase组件 1028 29.8.2 TTable还是TQuery 1034 29.8.3 使用TQuery组件 1036 29.8.4 执行存储过程 1041 29.9 总结 1043 第30章 扩展数据库VCL 1044 30.1 使用BDE 1044 30.1.1 BDE单元 1044 30.1.2 Check() 1044 30.1.3 指针和句柄 1045 30.1.4 使指针同步 1045 30.2 dBASE表 1045 30.2.1 物理记录编号 1046 30.2.2 显示被删除的记录 1047 30.2.3 测试被软删除的记录 1047 30.2.4 恢复被软删除的记录 1048 30.2.5 紧缩表 1048 30.3 Paradox表 1049 30.3.1 记录序号 1049 30.3.2 紧缩 1049 30.3.3 限制查询结果 1055 30.3.4 BDE杂项 1056 30.3.5 编写数据感知VCL控件 1059 30.4 扩展TDataSet 1063 30.4.1 过去 1063 30.4.2 现在 1063 30.4.3 创建一个TDataSet派生类 1064 30.5 总结 1083 第31章 用WebBroker使应用程序具有 Internet功能 1084 31.1 ISAPI、NSAPI和CGI—Web服务 器扩展 1085 31.1.1 公共网关接口 1085 31.1.2 ISAPI和NSAPI 1085 31.2 用Delphi创建Web应用程序 1086 31.2.1 TWebModule和TWeb- Dispatcher 1086 31.2.2 TWebRequest和TWeb- Response 1088 31.3 用HTML内容生成器建立动态网 1091 31.3.1 TPageProducer 1091 31.3.2 TDatasetTableProducer和 TQueryTableProducer 1092 31.4 使用cookie保存状态 1097 31.5 重定向到另一个Web站点 1099 31.6 从HTML表单获取信息 1099 31.7 数据流 1101 31.8 总结 1104 第32章 MIDAS开发 1105 32.1 多层应用程序的结构 1105 32.2 多层体系结构的优点 1106 32.3 典型的MIDAS体系结构 1107 32.3.1 服务器 1107 32.3.2 客户 1109 32.4 用MIDAS建立应用程序 1110 32.4.1 设置服务器 1110 32.4.2 创建客户 1111 32.5 增强应用程序的更多选择 1115 32.5.1 客户优化技巧 1115 32.5.2 服务器端的技巧 1116 32.6 几个实例 1117 32.6.1 连接 1117 32.6.2 MIDAS的Web功能 1119 32.7 客户数据集的更多功能 1125 32.7.1 嵌套的数据集 1125 32.7.2 客户主/细连接 1125 32.7.3 两层应用程序 1130 32.8 部署MIDAS应用程序 1131 32.9 总结 1134 第五部分 快速开发数据库应用程序 第33章 货物管理程序:客户/服务器 开发 1135 33.1 设计后端 1135 33.1.1 定义域 1136 33.1.2 定义表 1137 33.1.3 定义生成器 1138 33.1.4 定义触发器 1138 33.1.5 定义存储过程 1139 33.1.6 授权 1141 33.2 集数据库访问:业务规则 1141 33.2.1 登录和退出方法 1150 33.2.2 Customer表的方法 1151 33.2.3 Part表的方法 1152 33.2.4 Sales表的方法 1152 33.2.5 临时表的方法 1153 33.2.6 TDataModule操纵数据访问 组件的事件 1153 33.3 设计用户界面 1153 33.3.1 TMainForm:应用程序的主窗 体 1154 33.3.2 TCustomerForm:客户输入 1158 33.3.3 TPartsForm: 货物输入 1161 33.3.4 TSalesForm: 销售浏览 1165 33.3.5 TNewSalesForm: 销售输入 1165 33.3.6 CustomerSearch对话框 1169 33.4 总结 1173 第34章 客户跟踪系统:MIDAS开发 1174 34.1 设计服务器应用程序 1174 34.2 设计客户应用程序 1176 34.2.1 客户数据模块 1176 34.2.2 客户主窗体 1184 34.3 总结 1190 第35章 错误报告工具:桌面数据库 开发 1191 35.1 通用应用程序的需求 1191 35.1.1 为WWW准备 1191 35.1.2 用户的数据输入和登录 1191 35.1.3 错误处理、浏览和过滤 1191 35.1.4 错误注解 1191 35.1.5 用户界面的功能 1192 35.2 数据模型 1192 35.3 开发数据模块 1192 35.3.1 应用程序初始化和登录 1201 35.3.2 生成Paradox关键值 1202 35.3.3 错误处理例程 1202 35.3.4 浏览/过滤错误 1202 35.3.5 增加用户 1202 35.3.6 加入注解 1204 35.4 开发用户界面 1205 35.4.1 主窗体 1205 35.4.2 用户界面的其他问题 1211 35.5 使应用程序具有Web功能 1211 35.6 总结 1211 第36章 错误报告工具:使用 WebBroker 1212 36.1 网布局 1212 36.2 修改数据模块 1213 36.3 配置TDataSetTableProducer组件: dstpBugs 1213 36.4 配置TWebDispatcher组件: wbdpBugs 1213 36.5 配置TPageProducer组件: pprdBugs 1214 36.6 编写DDGWebBugs ISAPI服务器: 增加TActionItem实例 1214 36.6.1 辅助例程 1214 36.6.2 介绍网 1215 36.6.3 获取并校验用户登录名字 1216 36.7 浏览错误信息 1219 36.7.1 浏览所有错误信息 1219 36.7.2 浏览用户自己的错误信息 1221 36.7.3 格式化表格单元并显示错误细 节 1222 36.8 增加新的错误信息 1223 36.8.1 获取错误信息 1223 36.8.2 校验插入的错误信息 1225 36.9 总结 1228 第六部分 附 录 附录A 错误信息与异常 1229 附录B BDE错误代码 1247 附录C 参考文献 1264

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧