请问下C# win32 API技术主要是用来做什么软件的?

xp0375 2011-01-26 12:48:25
请问下C# win32 API技术主要是用来做什么软件的?
想学习API 我个人认为应该是实现系统方面的!
不是逻辑和办公的软件!!
像API 一般都是用来做什么软件的?
...全文
368 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
无常名 2011-01-27
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 sp1234 的回复:]
所以还是一样的,你立足于什么开发平台,就是首先立足这个平台的类库系统开发普通的应用程序。然后在它……
[/Quote]

顶~!
  • 打赏
  • 举报
回复
[Quote=引用楼主 xp0375 的回复:]
像API 一般都是用来做什么软件的?
[/Quote]

API就是一个比较通用的名词,是“编程接口”的意思,代表发布给一代(一大片)程序员的标准编程接口。不一定特指win32 api。

比如.net framework,如果8年前有人说它就代表了未来的windows的操作系统(的api),可能许多程序员都觉得比较超前。但是才过了7、8年,一晃光景,现在很多人已经不这么想了。
wangsong145 2011-01-26
  • 打赏
  • 举报
回复
API在做应用软件的时候也用得到,只是可能只用其中的一些函数
  • 打赏
  • 举报
回复
哦sorry,上面应该引用这一句话“这也就是说,你用VB写出的每行代码都会被VB转换为API函数传递给Windows”,删节时选错了行。
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 pan524365501 的回复:]
凡是在 Windows 工作环境底下执行的应用程式, 都可以调用Windows API。
[/Quote]

这个有点夸大了。每种平台都有自己的类库,但是win32的api是原生在windows系统中发布的,这才是他们之间的关系。一个平台可以使用自己的方法,然后跟更底层的api、更底层的驱动或者直接跟硬件打交道,而绕过大多数win32api。所以不可能夸大win32api的作用。

将来是否win32api从底层的地位,变成只是更新的操作系统中的一个兼容层地位(只是为了老的程序能够运行,而win32api其实是调用新的操作系统底层的)这也是可以预期的,因为win32api的弊端也越来越大。
  • 打赏
  • 举报
回复
20年前windows发布的时候,它是c和c++写的,其上千个动态连接库使用c语言的接口风格。尽管17年前出现了vb,使得windows上的基于界面的编程不再困难,但是vb的类库中没有的功能也可以通过接口调用windows系统自身的各种动态连接库。在.net中也是一样。
  • 打赏
  • 举报
回复
勿在浮沙筑高塔
楼主去看看Windows程序设计吧,纯API的,就明白了
钊子 2011-01-26
  • 打赏
  • 举报
回复
Windows API是一套用来控制Windows的各个部件的外观和行为的一套预先定义的Windows函数.用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么.
  这在某种程度上很象Windows的天然代码.其他的语言只是提供一种能自动而且更容易的访问API的方法.VB在这方面作了很多工作.它完全隐藏了API并且提供了在Windows环境下编程的一种完全不同的方法. 这也就是说,你用VB写出的每行代码都会被VB转换为API函数传递给Windows.同样,当你点击窗体上的一个按钮时,Windows会发送一个消息给窗体,VB获取这个调用并经过分析后生成一个特定事件.
  API函数包含在Windows系统目录下的动态连接库文件中.
  更易理解地说:Windows 这个多作业系统除了协调应用程式的执行、分配内存、管理系统资源…之外, 她同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备…等目的,由于这些函数服务的对象是应用程式, 所以便称之为 Application Programming Interface,简称 API 函数。WIN32 API也就是MicrosoftWindows 32位平台的应用程序编程接口。
  凡是在 Windows 工作环境底下执行的应用程式, 都可以调用Windows API。
phil999 2011-01-26
  • 打赏
  • 举报
回复
一般都用这个 api 做 windows 程序
请叫我涛哥0-0 2011-01-26
  • 打赏
  • 举报
回复
我个人认为Win32写服务程序比较好,如果写GUI,不是很方便。
flyerwing 2011-01-26
  • 打赏
  • 举报
回复
不过还是建议楼主现在开始用WIN64吧,MS已经声明从W2008R2后以后不生产32位WIN.
flyerwing 2011-01-26
  • 打赏
  • 举报
回复
在WIN32下跑的也就是基于WIN32的各种应用系统
hangang7403 2011-01-26
  • 打赏
  • 举报
回复
绝大多数都能做,但是比较繁琐,因为所有的动作都要自己在窗口过程中进行处理
kjloves 2011-01-26
  • 打赏
  • 举报
回复
做病毒的··
zhubo006 2011-01-26
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
windowsXP内置了MFC了吗?如果内置了,是什么版本的?

如果不回答这个问题,那些号称使用vc++的人其实也是vc的外行。如果他到.net论坛来学习,把那种风气有带到.net了。而.net需要套一个更大的类库,他更有的说了。但是无论如何,这样的人都无法开发我们所看到的大多数应用软件。

所以还是一样的,你立足于什么开发平台,就是首先立足这个平台的类库系统开发普通的应用程序。然后在它不足够时,用win32api作为补充。

wy811007 2011-01-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhu_de_yi 的回复:]
net也封装了90%的windows api,但有些还是没有完全封装,可能是为了托管代码的效率问题吧。
所以现在在net下用api主要是处理一下多平台交互,及底层资源交换处理的时候用,比如图像处理,智能终端,网络底层协议,都必须要用好win32 API。不过几年后将是64位的编程系统了,我们又要学习一些新的api了
[/Quote]

话说 人家没装.net2.0 你写出来程序 都运行不了 盗毛啊..
neil1988 2011-01-26
  • 打赏
  • 举报
回复
No.1 和Hook共用,制造病毒。
No.2 让不是病毒的程序更强大,提供系统级功能,如自动关机,打开浏览器等等。

另外,很多人说C#的语言特性决定了它不能做病毒。这是绝对错误的。可参考CodeProject等网站,4年前有一篇文档推翻了微软官方关于C#不能使用Hook的说法。同时使用delegate, Hook, Win 32 API, 注册为服务。 C#绝对可以写病毒。2年前我就写过盗Q的。

不过,建议你先读下Microsoft Windows Internals这本书。另外学习windows API你要经常用到WinUser.h这个操作系统头文件。
Zhu_De_Yi 2011-01-26
  • 打赏
  • 举报
回复
net也封装了90%的windows api,但有些还是没有完全封装,可能是为了托管代码的效率问题吧。
所以现在在net下用api主要是处理一下多平台交互,及底层资源交换处理的时候用,比如图像处理,智能终端,网络底层协议,都必须要用好win32 API。不过几年后将是64位的编程系统了,我们又要学习一些新的api了
Zhu_De_Yi 2011-01-26
  • 打赏
  • 举报
回复
1.C# win32 API
就我个人来说,主要是为了多平台的交互,且系统不容易升级为新.netframe平台下的系统
主要学net下的P/Invoke就可以做到多平台的交互,不管你是c++或java语言等
2.api是window底层及内核的封装,是了解windows编程必经之路,要让自己的程序无所不能那必须把api学好。学不好的话,系统一些效率和空间瓶颈问题就
难以解决
加载更多回复(1)

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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