SDK编程讲座 之 第一讲:预备知识与概念介绍(转载)

Revit二次开发从入门到精通学习之路 作者:叶雄进 Revit的在国内的应用越来越广泛, Revit 2011在速度和功能上有显著的提高,所以现在对Revit应用关注更多。Revit二次开发亦受到大量的关注和评估,许多国内朋友想了解学习 Revit 二次开发技术,希望获得快速学习的材料。这里我将简要介绍学习Revit二次开发的步骤和路径。另外把所有本人做过的中文培训讲座链接如下,使大家可以一站式收集可用学习资源。 在开发一项技术之前,大家都想了解该技术的发展现状和趋势。去年我在Autodesk University上做过一次讲座,介绍 Re 阅读详情
注:我写这个专题目的是为VC初学者提供一个思路,我本人很菜,但我认为对于VC初学者来讲,可能有点帮助,当然,对于WinSDK编程,我也是刚刚接触。如果你对WinSDK编程较熟,请与我联系,咱们共同来把这个专题做好,如果你发现了什么错误,也麻烦你给我留言指正。我写的内容也基本上是我自己的一些理解,错误是肯定有的,如果你发现我的理解偏差很大的话,麻烦你提醒一下。---小朱! 

什么是WinSDK:

大致说来windows编程有两种方法: 1.windwos c方式(SDK), 2.c++方式:即对SDK函数进行包装,如VC的MFC,BCB的OWL等,如果要深入 下去,还是要熟悉SDK。

两种方法有哪些区别呢:SDK编程就是直接调用windows的API进行编程,但是有上千个API组成(win95的API有两千多个),这种数目太大了,对于编程显然不利。而MFC把这些API封闭起来,共有一百多个类组成。一般只需20多个windows类和另外20多个通用的非windows类就可"干活"了,这一改变无疑是有很大好处的。尽管MFC如此方便,但是要学VC,直接去学MFC却是不明智的选择。只有在熟悉了MFC的运行机制的情况下,才有可能深入下去。那些如多少天精通什么什么的书籍其实讲的全是些如怎么使用VC这种工具的话题,学来学去学会了怎么会使用VC这种工具,而不能深入MFC编程。象VB这类工具就更令人感觉到太闷了,不过各有各的好处。

MFC虽然提高了程序员编程的效率,但是也失去了SDK编程的灵活性.....不好意思,跑题了....

本专题假定:

C语言是windows的源语言,用C进行SDK编程是最合适的,你应该至少学过C语言,知道C语言的各种语法等,当我说到指针等类似概念的时候,你不至于茫然就行了。

你还应该安装了Visual C++6.0,低版本的就不用用了吧,D版的才几块钱吗?

推荐与参考资料: 

1.Petzold的[programming windows by petzold],这是我看过的一本书(电子书),不过是E文的,我只看了一半,"下载空间"一栏能供了该电子书。中文版的是[Windows 程序设计](包括上,下卷),Charles Petzold著,北京博彦发展有限公司译,北京大学出版社出版,本书唯一的缺点就是太贵,价格是160元。一些朋友让我多推荐一些这方面的书,我也没办法,一是这类书目前本就很少,二是如果你非要买的话,肯定要买这本书了,可是经典呢!!

2.还有一本老书值得一提,可能市面上已经买不到了,书名[Windows 编程],刘振安著,人民邮电出版社出版发行。一个朋友曾借给我看了几天我又还了,很容易读懂的,不过一看日期,95年出版,得!没希望了。我们学校图书馆好像也有几本,不过好像都很烂。

3.VC的在线帮助MSDN,有关SDK的资料在"Platform SDK"一栏中。

下面再加深几点概念:

什么是API:

什么是API,有必要再谈一下,特别对于从TC过来的朋友和初学编程的朋友。API,全称application program interface,意思是应用程序编程接口(说起API并不仅仅指windows而言,windows支持的API叫winapi)。winapi就是应用程序和windows之间通讯的一个编程界面。windows提供了上千个API函数,以方便程序员来编写应用程序。做数据库管理系统是很少和API打交道的,我以前学PB,看的十几本书都没有专门的章节来介绍API的。只有到网上看那些PB技巧之类的文章才谈及API,不过还要加入一大堆声明之类的东东。好像VB也是这样。总之,进行系统编程,API是必不可少的。API是每个VC高手的必过的一关。

什么是WinSDK编程:

WinSDK程序设计就是API方式的windows程序设计。SDK,全称Software Developers Kit,意思是软件开发工具箱。它是在windows程序设计早期,程序员进行windows程序设计所必须购买的一个软件包(不知道那时候有没有D版的)。我两个月前见SDK还不知所云。开始进行WinSDK编程用C语言最好,可以撇开C++的特性专心熟悉一下Win32编程的思路以及了解windows的消息运行机制。等把这些有所了解后,慢慢转向C++和MFC编程。不过我的观点是WinSDK编程永远要慢慢进行下去,直接接触底层代码对MFC源码的理解是有很大好处的。上周开始用MFC时,按F11进行单步跟踪,一开始见到"_tWinMain"这样古怪的东东也没有感觉到太大的迷惑,不就是相当于SDK编程中的WinMain函数吗? 

什么是MFC:

MFC,全称Microsoft Foundation Classes,伪软把WinAPI进行封装的类库。它是一个类的集合,通过覆盖WinAPI,为编程提供了一个面向对象的界面。它使windows程序员能够利用C++面象对象的特性进行编程,类似BCB的OWL,Delphi的VCL组件。它把那些进行SDK编程时最繁琐的部分提供给程序员,使之专注于功能的实现。你不妨把它想象成类似TC提供的函数库吧。用Visual C++这种开发工具编程时,可以用MFC,也可以不用,但MFC是VC的精华所在,从某种意义上来说,不会MFC就是不会使用VC。研究MFC源代码是件既快乐又痛苦的事情,不过,阵痛之后,嘻嘻,...... 

怎么进行WinSDK编程:

Visual C++6.0:File-->new-->Projects-->Win32 Application(project name)-->...... 

我们既然用C语言进行,就选第一项"An empty project"......

......好累,这篇就写这么多吧,但愿对你有帮助,也建议多给我提意见,你的反馈是我最大的动力渊源......

【新版】Inventor二次开发学习指南 以前曾写过一篇文章:http://blog.youkuaiyun.com/autodeskinventorapi/article/details/8120770。由于Autodesk University 中国已关闭,文章中很多链接失效,而且有些内容也需要更新。特作废以前那篇文章,另外撰写一篇新的,大部分内容雷同。软件预备Inventor 产品:可从Autodesk官方网站的Inventor产品目录下载试用... 阅读详情

相关推荐

深入理解Windows SDK的安装与应用开发

Windows Software Development Kit (SDK) 是一套为开发者提供创建Windows应用程序所需的工具、库和文档的集合。它包含了编译器、调试器、API函数、组件、示例代码、文档和指南等,旨在帮助开发者高效地构建兼容最新Windows特性的应用程序。SDK头文件中声明的API是通过C或C++函数的形式呈现,每种API都有其特定的用途和参数。在声明中会明确指出函数的输入输出参数,返回类型以及任何相关的错误代码。开发者通过包含这些头文件,可以在应用程序中调用相应的API。

weixin_32836713的博客 2428

Windows SDK(一) 基础知识

Window程序编程参考资料:编程:Windows程序设计第五版Windows系统编程:Windows核心编程第五版SDK:软件开发套件SDK就是API的集合(应用程序编程接口)

2301_78838647的博客 2073

Windows SDK for Windows 7

Windows SDK(Software Development Kit) for Windows 7.方便Windows编程

Windows SDK下载安装指南

如果使用的是 Visual Studio,Windows SDK 可能会随 Visual Studio 一起安装,无需单独下载。在安装向导中,选择你需要安装的组件。默认情况下,所有组件都会被选中,但你可以根据需要取消勾选不需要的部分。在页面上找到适合你需求的 Windows SDK 版本,通常选择最新版本即可。如果需要,可以手动配置环境变量,确保系统能够正确识别 SDK 的路径。安装过程可能需要一些时间,具体取决于你选择的组件和系统性能。点击“下载”按钮,选择适合你系统的安装程序(通常是。

SSHLY3的博客 4458

WIN8.1 SDK

sdk下载后直接运行就可以安装,很好解决系统缺少组件的问题。。。

20220601超简单百度地图街景图片爬取+绿视率计算

真的不难咯。

weixin_39676904的博客 1万+

Windows 11安装Windows SDK详细教程

Windows 11安装Windows SDK详细教程

世界那么大,我想去看看~【随心更新,看世界去了😄】 1万+

2022 七校联合NewStarCTF 公开赛赛道 WEEK5|MISC

2022 七校联合NewStarCTF 公开赛赛道 WEEK5|MISC

zerorzeror的博客 3117

windows SDK版本指的是什么

不同的 Windows SDK 版本支持不同的 Windows 操作系统版本,包括 Windows 10、Windows 8.1、Windows 7 等。Windows SDK 版本的选择对于开发 Windows 应用程序非常重要,因为不同版本的 Windows SDK 包含了不同的 API 和功能。选择适合你的开发需求和目标操作系统的 Windows SDK 版本,可以确保你的应用程序能够充分利用所需的功能,并与目标 Windows 系统兼容。

weixin_50531046的博客 4693

小新学习K8s第一天之K8s基础概念

kubernetes是一个可移植,可扩展的开源平台,用于管理容器化工作负载和服务,有助于声明式配置和自动化。它拥有庞大且快速发展的生态系统。kubernetes服务,支持和工具随处可见。作用:用于自动部署,扩展和管理“容器化应用程序”的开源系统。可以理解成k8s是负责自动化运维管理多个容器化程序(比如docker)的集群,是一个生态及其丰富的容器编排框架工具。

pangdongqiqi的博客 1228

Arduino——GY39大气压、温湿度、光照模块

前几天买东西的时候买了一个GY39,这个模块集成了温湿度,大气压,海拔,光照一体,使用起来很方面。它有两种工作模式使用串口模式时需要搭配转接板,我选择了IIC模式,看一下通信协议吧,就是关于高八位和低八位的数据。看一下接线。

戚晨夕的博客 2605

SDK编程讲座 之 第一讲:预备知识与概念介绍

注:我写这个专题目的是为VC初学者提供一个思路,我本人很菜,但我认为对于VC初学者来讲,可能有点帮助,当然,对于WinSDK编程,我也是刚刚接触。如果你对WinSDK编程较熟,请与我联系,咱们共同来把这个专题做好,如果你发现了什么错误,也麻烦你给我留言指正。我写的内容也基本上是我自己的一些理解,错误是肯定有的,如果你发现我的理解偏差很大的话,麻烦你提醒一下!  什么是WinSDK:大致

zhangjun1094的专栏 513

Linux下安装FastDFS及生成缩略图

1. 安装编译环境 yum install git gcc gcc-c++ make automake vim wget libevent -y 2. 安装libfastcommon基础库 mkdir /root/fastdfs cd /root/fastdfs git clone https://github.com/happyfish100/libfastcommon.git --depth 1 cd libfastcommon/ ./make.sh && ./make.sh ins

weixin_45234710的博客 1373

ArcGIS10系列讲座与培训教程

1、ArcGIS10.1总览 作为全球第一款真正支持云架构的GIS平台产品,去年发布的ArcGIS10带来GIS的五大飞跃,开创并引领了GIS协同时代的到来。ArcGIS10.1版本将会在ArcGIS10的基础上使地理价值的分享更加便捷、地理参与更加广泛。本讲座将进一步介绍全新产品ArcGIS10.1的再次飞跃,全面与云技术结合,让您充分感受技术与产品的变革为高效的工作、快捷的协同、方便的沟通带...

weixin_30711917的博客 172

单线激光雷达的工作原理

单线激光雷达通过单一激光束的水平扫描和时间 / 相位测量,实现二维环境的距离感知,是低成本二维导航的核心传感器。尽管其无法直接提供三维信息,但其可靠性和经济性使其在消费级和工业级场景中广泛应用。随着技术发展,部分单线雷达通过振动镜或 MEMS 微振镜实现微小角度偏转,可近似模拟多线扫描效果,进一步拓展了应用边界。

谢谢大家的关注和点赞!这里只有纯纯的知识干货,没有一句废话。希望能实实在在帮到大家~要是觉得有用,别忘了给我点支持哟,你 1859

第三天:Python基础语法详解

Python代码规范与注释最佳实践 摘要: 本文深度解析Python缩进规则与代码结构的技术规范,包括缩进的底层原理、语法规则和错误处理。详细阐述Python注释系统,涵盖行内注释、文档字符串和类型注释等多种形式,并提供工业级代码组织方案。研究显示,良好的缩进可提升40%的代码识别速度,降低50%的认知负荷。文章还对比了Sphinx、pdoc等主流文档生成工具,给出企业级项目中的注释编写原则和模板建议,帮助开发者构建更可维护的Python代码。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1011

DirectShow系列讲座之三——开发自己的Filter

在上两讲中,笔者介绍了DirectShow的应用原理以及开发Filter之前的一些预备知识。这一讲,笔者就要手把手教你如何写自己的Filter啦。首先,从VC++的项目开始(请确认你已经给VC++配置好了DirectX的开发环境)。写自己的Filter,第一步是使用VC++建立一个Filter的项目。由于DirectX SDK提供了很多Filter的例子项目(位于DXSDK/samples/Mul

2299

谁还攥着旧的类加载器:Metaspace OOM 的元数据记账、类卸载条件与泄漏定位解析

MetaSpace区是JVM内存管理中的关键部分,负责存储类元数据。随着Java 8的推出,MetaSpace取代了PermGen区,但其灵活性也带来了新的挑战,尤其是在动态类加载和频繁类更新的场景下,容易导致MetaSpace内存溢出(OOM)问题。本文探讨了MetaSpace OOM的根本原因,包括类加载器泄漏、内存管理不当和GC效率低下等,并提供了一系列调优策略和解决方案,帮助开发者有效排查和防止此类问题的发生,确保应用程序的稳定性和高可用性。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 15万+

DirectShow系列讲座之二——Filter原理

在上一讲中,笔者介绍了DirectShow的总体系统框架。从这一讲开始,我们要从程序员的角度,进一步深入探讨一下DirectShow的应用以及Filter的开发。在这之前,笔者首先要特别提一下微软提供的一个Filter测试工具——GraphEdit,它的路径在DXSDK/bin/DXUtils/GraphEdit.exe。(如果您还没有安装DirectX SDK,请到微软的网站上去下载。)通过这个...

我是传奇 273

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

DirectShow系列讲座之三——开发自己的Filter (转)

DirectShow系列讲座之三——开发自己的Filter (转)[@more@]在上两讲中,笔者介绍了DirectShow的应用原理以及开发Filter之前的一些预备知识。这一讲,笔者就要手把手教你如何写自己的Filter啦。...

csd3176的博客 103

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Revit二次开发从入门到精通学习之路。一站式下载所需资料

AutodeskJoe Ye 叶雄进 July 2010 Revit的在国内的应用越来越广泛, Revit 2011在速度和功能上有显著的提高,所以现在对Revit应用关注更多。Revit二次开发亦受到大量的关注和评估,许多国内朋友想了解学习 Revit 二次开发技术,希望获得快速学习的材料。这里我将简要介绍学习Revit二次开发的步骤和路径。另外把所有本人做过的中文培训讲座链接如下,使大家可以一...

weixin_33753003的博客 143

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Revit二次开发从入门到精通学习之路, (含Revit二次开发教程下载)

Revit二次开发从入门到精通学习之路                        Autodesk Joe Ye叶雄进 Mar. 20 2013    MSN:yexiongjin@hotmail.comRevit在国内的应用越来越广泛, Revit 2013在速度和功能上有显著的提高,所以现在对Revit应用关注更多。Revit二次开发亦受到大量的关注和评估,许多国内朋友想了解学习Revit

我爱Revit —— BIM应用及BIM应用软件解决方案专栏 9万+
上一篇: DELPHI 中 的 消 息
下一篇: SDK编程讲座 之 第二讲:WinMain与两只小板凳的故事(转载)
Dcdu
博客等级 码龄21年 44粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值