Ⅰ Windows API 入门什么是 Windows API
Windows API 实际上是以一种新的方法代替了DOS中用软中断的方式。
和DOS的结构相比,Win32的系统功能模块放在Windows的动态链接库(DLL)中。
DLL是一种Windows的可执行文件,采用的是和 .exe文件同样的PE格式。
在PE格式文件头的导出表中,以字符串形式指出了这个DLL能提供的函数列表。
应用程序使用字符串类型的函数名指定要调用的函数。
实际上,Win32的基础就是由DLL组成的。Win32 API的核心由3个DLL提供,它们是:
KERNEL32.DLL——系统服务功能。包括内存管理、任务管理和动态链接等。
GDI32.DLL——图形设备接口。利用VGA与DRV之类的显示设备驱动程序完成显示文本和矩形等功能。
USER32.DLL——用户接口服务。建立窗口和传送消息等。
当然,Win32 API还包括其他很多函数,这些也是由DLL提供的,不同的DLL提供了不同的系统功能。如使用TCP/IP协议进行网络通信的DLL是Wsock32.dll,它所提供的API称为Socket API;专用于电话服务方面的API称为TAPI(Telephony API),包含在Tapi32.dll中。所有的这些DLL提供的函数组成了现在所用的Win32编程环境。
Ⅱ Windows API是什么编写软件需要吗
windows api 是在进行windows编程时的必备品 它其实是你的程序和WINDOWS交通的接口
WINDOWS提供了一大堆函数,你调用这些函数就可以进行一些不同功能的组合
比如编写病毒控制注册表 启动项 查看硬盘信息, 文件的复制等等都是用windows api实现的
不用软件, 用VC就可以,C语言直接可以调用api函数 前边加上#include<windows.h>就可以了
有本书专门教这个叫 windows程序设计 第五版
Ⅲ 我想学习编程需要购买那些书籍
书籍整理如下:
C++开发
1.《C++ Primer》:全面学习C++的必备书籍
2.《Thinking in C++》:了解C++背后的一些机制
3.《深度探索C++对象模型》:深入了解C++,也是学习COM的必经之路
Windows平台
入门
1.《Windows程序设计》:这本书主要讲的是Windows API的使用,是Windows编程入门书籍。上册涉及到的知识基本上就够用了,时间不充裕的话阅读上册即可。
2.《Win32多线程程序设计》:Windows下多线程编程必备
3.《Windows核心编程》:Window平台基础知识:消息机制,内存管理,多线程,动态链接库等
4.《Windows网络编程》:介绍Windows下各种网络协议的开发和并发处理模型。
进阶
1.《深入浅出MFC》:Windows下编程,MFC虽然有些过时,但其机制还是有学习的价值。重点学习书中提到的MFC 6大机制
2.《COM本质论》:COM是Windows构建用户态的重要技术之一,Windows开发必修课,本书对COM的设计动机作了深入阐述
3.《深入解析ATL》:ATL全名Active Templete Library,是用C++的模版封装了COM,这本书主要讲的是对源码分析
4.《WTL White Paper》:WTL源自微软,基于ATL的一套开源模版库,主要用于界面编程和工具类的使用
5.《代码大全》:这边书主要讲的是工程编码规范
高级
1.《深入解析Windows操作系统》:Windows大牛书籍,讲的主要是Windows操作系统的内核原理
调试技术
1.《软件调试》
2.《Windows高级调试》
3.《windows用户态程序高效排错》
Linux平台
Linux内核
1.《Linux Kernel Development》/《Linux内核设计与实现》:Robert Love的着作,不厚的一本书,深入浅出地将Linux内核娓娓道来
Linux使用和Shell编程
1.《sed & awk》/《sed与awk》:sed与awk都是Linux下常用的日志分析利器
Linux编程
1.《Beginning Linux Programming》/《Linux程序设计》:老牌的Linux编程入门书
2.《Advanced Programming in the Unix Environment》/《Unix环境高级编程》:对Unix编程环境做了细致的总结,涵盖了进程间通讯、网络通讯、文件系统等各方面的知识
网络编程
1.《TCP/IP Illustrated, Volume I》/《TCP/IP详解,卷一》:对理解TCP/IP协议的设计理念和协议细节有显着的帮助。
2.《Unix Network Programming》/《Unix网络编程》,卷一、卷二:网络编程方面难以逾越的着作,事无巨细、深入浅出,强烈推荐
对这些书目抱有100%的信心,全部掌握,融会贯通,即可打通奇经八脉,天下无双。
对了,你没有基础最好从c与c++基础开始。找些基础书开始看。
[C语言入门经典(第四版)].(美)霍顿.扫描版,《C++ Primer》就不错。
Ⅳ windows API怎么学呀,有没有简单些的入门教程
简单的没有,window API函数有非常非常的多,想要学好比较难,入门的教程最好的教程是《Windows 程序设计(第五版珍藏版)》 清华大学出版社的 但是这本书的门槛比较高,你要学的话就要有心理准备,第一次看不用完全理解全部的东西,知道有那么一回事就行了,要用的时候就回头查阅,最好你能多看几次这本书。Windows API 要的是多练,自己动手写一些小程序,不懂的查资料,练多了你就记住了一些函数使用规律,很多函数都是不用去记忆的,你要用到的话可以去查资料,比如说MSDN ,久而久之,你就会有所收获了。
Ⅳ Windows API 入门什么是 Windows API
Windows API又叫做 API 函数, 是 Windows 的核心,从技术上讲,我们技术人员在 Windows 操作系统里做技术开发,Windows 对我们技术人员来说,里面有大量的 API 函数。
API 叫做 “应用程序编程接口”(Application Programming Interface) ,我们在使用各种各样的编程语言在 Windows 开发时,都可以使用 API函数。
做程序设计、软件开发,肯定要调用或者说是使用 Windows 里已经做好的那些 API 函数。
微软在做 Windows 时,几万人做了十几年做出了大量API函数, Windows 自身在用这些函数,而我们程序员也可以调用这些函数。
所以,API函数是程序员的必学基础。
Ⅵ 最简单的Windows API编程 求解
知其然要知其所以然。不管你是直接C++ source file, 还是 win32 Application,只要你了解其本质,那么你可以通过简单的配置,使你的程序成功运行起来。下面我告诉你如何在命令提示符(cmd.exe 或 command prompt)下编译你的程序。
1.如何进入初始化编译器环境的命令提示符:
1)如果还是使用VC++6.0。那么在开始->运行中输入cmd, 然后回车。在cmd.exe中使用cd命令进入你的VC++6.0安装目录的VC目录下,应该可以找到vcvars32.bat, 然后在cmd.exe运行vcvars32.bat批处理脚步就可以了。
2)如果是VS 2005 2008 2010 2012,那么在开始中找到对应目录,在这个目录下有个开发工具目录,里面有个vs x32 command prompt, 直接点击就可以了。
2.如何在以上命令提示符中编译你的程序,假设你上面的程序文件为test.c:
cl /? #查看编译器使用帮助
cl /OUT:test.exe kernel32.lib user32.lib gdi32.lib /SUBSYSTEM:WINDOWS /ENTRY:WinMainStartup /MANIFEST:NO /MD test.c
这样可以成功编译出来的text.exe
Tip: 问题的关键是/SUBSYSTEM和/ENTRY
/SUBSYSTEM: [CONSOLES, WINDOWS, ...] 这是主要的两个参数。
/ENTRY: [WinMainStartup, mainCRTStartup] 就这两个参数。(WinMainStartup可能是WinMainCRTStartup,我记不清了)
问题关联:
1.当你直接C++ source file时,/SUBSYSTEM:CONSOLES /ENTRY:mainCRTStartup (这时入口函数时main,<report LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main >, 它说crt0.obj使用了一个叫main的函数,你却没有写...)
2.当你使用win32 application时,/SUBSYSTEM:WINDOWS /ENTRY:WinMainCRTStartup (这时你的程序符合要求,因为它找到了WinMain函数)
拓展:
#include<windows.h>
#pragma comment(lib,"User32.lib")
int main(int argc, char *argv[])
{
MessageBox(NULL,TEXT("开始学习"),TEXT("消息对话框"),MB_OK);
return 0;
}
把WinMain改成标准C/C++的main之后如何运行程序,因为你使用MessageBox函数,使用了win32 API, 故/SUBSYSTEM:WINDOWS。又因为你使用main函数为程序入口函数,故/ENTRY:mainCTRStartup。编译命令如下:
cl /OUT:test.exe kernel32.lib user32.lib gdi32.lib /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup /MANIFEST:NO /MD test.c
Note: 以上参数都可以在VC++开发环境工程设置里面进行更改设置,由于我是在Unix下工作,很久没有接触VC,以上参数可能存在偏差,请使用cl /? link /? res /? nmake /?等自行仔细查看。另外,我建议开始编程使用命令加脚本的方式编程,学会使用自己编写Makefile, 因为VC++的图形开发环境本质就是建立在各种脚本之上,所以对排查程序错误能够有本质上的认识。
Ⅶ API编程初学
我是先学了mfc再回来学习win32 api的。哈哈!走了弯路,个人觉得还是先学一些win32编程的概念和基础再学 mfc 就容易多了。
技巧的东西,或者说捷径的东西,不好说。觉得一切都是积累。现在回顾以前,遇到一个问题(比如绘图,设置滚动条等等操作),当初都要上网搜很久才能解决,解决后就是经验,就是财富。现在遇到同样问题,把原来积累的代码往上一贴,加以修改和润色,哈哈哈,完事。这就是经验啊。
编程过程中要记得积累,做笔记,总结,提取。
比如:
1.要显示一个图片,做一个常用的类CBitmapPic,那以后只要有图片的路径或者资源id,就可以马上调用CBitmapPic.draw(0,0,100,100) 输出了
2.比如文件对话框,把其再简单的分装成一个函数,下次要用到时也是简单的调用就可以了。
这样总结提取的好处是不言而喻的,从某种意义上讲,写程序就像堆积木。你把以前的“积木”做好了,下次要用,拿过来堆上去就可以了,多省事啊。否则每次都折腾一番,效率多低啊。
做一些小程序吧(而且是自己感兴趣的,比如写一个俄罗斯方块),在这个过程中遇到问题就上网搜索,完成后你会发现你学习到很多东西了。
在推荐我自己写的一个trace()宏,很方便就能输出要调试的变量。强烈推荐啊。请看:
这是我学习时做的笔记,比较凌乱,但相信有可取的地方,希望对你有所帮助
Ⅷ windows api编程视频教程
本人现正推出《Windows程序设计》视频教程,详情参见本人博客:hi..com/gj888
葛军视频教程之《windows程序设计》已陆续开始发布。
薯仔网地址:http://www.tudou.com/home/_331583630
优酷网地址:http://i.youku.com/u/UMTMyNjMzNDUyMA==
说明:
1、在薯仔网观看本人视频教程时,如果需要更清晰的观看效果。可选择“原画”、4:3模式。
2、在优酷网上本人的视频教程,不仅可以在线观看,也可以下载观看。下载时,需要安装优酷客户端,在保存时可以选择“超清”版本,“超清”便是本视频的最佳观看效果的版本。之后用优酷客户端观看(“超清”版本必须由优酷客户端播放)。
葛军
Ⅸ 学Windows编程是否需要背过Windows系统全部的API
win32 sdk api入门经典是《windows程序设计》上下册,已经不好买,网上有电子书下。
《Windows API编程》写的比较简练,没基础的话不容易懂,给中级程序员看的,但难度比不上《windows核心编程》,