对计算机很感兴趣,硬件和软件方面,不知应该有怎样的学习过程

本人对计算机很感兴趣,硬件和软件方面。但不知道怎么一步一步学习。什么win32,API ,MFC,都很想了解。
本人只有C语言、数据结构基础,应该怎么进行,希望得到大家的帮助!谢谢
忘了说清楚了,我是在校学生,哪有时间再去报班啊,只能靠自学了!

win=windows操作平台
32=32位的操作系统
顾名思义 可以简单理解为:编写可以在32位的windows操作系统下运行的程序。

Win32编程,指的是用Window提供的API(Application Programming Interface)为Window编写应用程序。
之所以称之为Win32,是因为现在的Window都是32位的(现在已经有64位的吧!但是最普遍是32位).

win32 是指Window都是32位的操作系统,例如98、XP、2000、2003等操作系统,
win32编程就是在这些系统下的编程 ,运用Window提供的API(Application Programming Interface)为Window编写应用程序。

win32编程可以用C来完成,主要是通过windows的API来工作.但是API上千个,想全部掌握很难,建议安装一个MSDN随时查看.书籍方面又Petzeld的Windows程序设计,上下两册,讲的比较全面,但是内容很多.

我个人意见,我觉得你现在学win32编程倒不如先学C++,这样以后既能做win32程序(过程很繁琐),也能做MFC程序(明朗的多),而且有了面向对象思想之后,也可以继而学习JAVA或C#,用C#做windows form程序那叫一个方便!

所以强烈建议你先学C++,估计你是对控制台那个黑屏厌烦的,但是进入windows后你会发现,它比DOS的还烦!

Win32编程,指的是用Window提供的API(Application Programming Interface)为Window编写应用程序。
之所以称之为Win32,是因为现在的Window都是32位的(现在已经有64位的吧!但是最普遍是32位).
大家都知道,Window是由GDI.DLL、USER.DLL、KERNEL.DLL三大主要部分组成的。(其实你现在不知道也
不是说的很重要。只是在你学习编程的过程中,你肯定会经常碰到这几个字眼。你肯定会熟悉它的。),那么
学习Win32编程的大部分(特别是应用程序界面部分的编程)是用这三个DLL(Dynatic Linked Library)动态链接库
子程序形式提供的API函数。

就我认为:学习Win32编程得有几个重要条件:一是C语言功底。二是外语功底。三是使用Window的经验。
要学习它不是很难,但也决非易事:

首先:你必须有编程的经验。这里的经验不是指传统的DOS下的字符模式下的编程。大家都知道,Window是图形
操作系统、同时也多任务抢占式(理解它很重要),它是在图形模式下工作。当然你编程得服从于它。但是正
是因为这个,Window的编程模式就和DOS不一样。所有你得有DOS下编程的经验,但是还得转变为WINDOW下的编程
方式。因为两个系统的编程一个是过程化的。即程序从上到下,顺序执行。而另一个是,事件驱动的。要明白
这个,才会体验到Window的博大精深。
我觉得有必要对Window操作系统有所了解。什么是多任务,什么是抢占式。进程和线程的概念。但是刚
开始没有必要因为这些概念让我们失去信心。因为只要你入门了,你就会非常兴奋。
事件驱动:我们知道DOS下程序是顺序执行的。至少它是按着你指定的路径或条件执行的。尽管可能会
在某些条件下跳转,但是基本上是在你(程序的掌握之中),但是在事件驱动中,你只需考虑到可能出现的情
况,并对这些情况做相应的处理。当Window执行你的程序时,它会检测是否发生了你考虑的那些事情是否发生
,如果发生了某件事情(比如你用鼠标单击),它会给你的程序发送相应的消息(所以叫做消息驱动,这里
对就鼠标的消息是WM_MOUSELDOWN等).

API(Advanced Programmers Interface,高级程序员接口)(注:API实际是指Application Programming Interface,应用程序编程接口;此处疑为原文错误,不过在VB中也可以这么说吧!)是一套用来控制Windows的各个部件(从桌面的外观到位一个新进程分配的内存)的外观和行为的一套预先定义的Windows函数.用户的每个动作都会引发一个或几个函数的运行以Windows告诉发生了什么.

这在某种程度上很象Windows的天然代码.其他的语言只是提供一种能自动而且更容易的访问API的方法.VB在这方面作了很多工作.它完全隐藏了API并且提供了在Windows环境下编程的一种完全不同的方法.

这也就是说,你用VB写出的每行代码都会被VB转换为API函数传递给Windows.例如,Form1.Print...VB 将会以一定的参数(你的代码中提供的,或是默认参数)调用TextOut 这个API函数.

同样,当你点击窗体上的一个按钮时,Windows会发送一个消息给窗体(这对于你来说是隐藏的),VB获取这个调用并经过分析后生成一个特定事件(Button_Click).

API函数包含在Windows系统目录下的动态连接库文件中(如User32.dll,GDI32.dll,Shell32.dll...).

API 声明

正如在"什么是API"中所说,API函数包含在位于系统目录下的DLL文件中.你可以自己输入API函数的声明,但VB提供了一种更简单的方法,即使用API Text Viewer.

要想在你的工程中声明API函数,只需运行API Text Viewer,打开Win32api.txt(或.MDB如果你已经把它转换成了数据库的话,这样可以加快速度.注:微软的这个文件有很多的不足,你可以试一下本站提供下载的api32.txt),选择"声明",找到所需函数,点击"添加(Add)"并"复制(Copy)",然后粘贴(Paste)到你的工程里.使用预定义的常量和类型也是同样的方法.

你将会遇到一些问题:

假设你想在你的窗体模块中声明一个函数.粘贴然后运行,VB会告诉你:编译错误...Declare 语句不允许作为类或对象模块中的 Public 成员...看起来很糟糕,其实你需要做的只是在声明前面添加一个Private(如 Private Declare Function...).--不要忘了,可是这将使该函数只在该窗体模块可用.

在有些情况下,你会得到"不明确的名称"这样的提示,这是因为函数.常量或其他的什么东西共用了一个名称.由于绝大多数的函数(也可能是全部,我没有验证过)都进行了别名化,亦即意味着你可以通过Alias子句使用其它的而不是他们原有的名称,你只需简单地改变一下函数名称而它仍然可以正常运行.

你可以通过查看VB的Declare语句帮助主题来获取有关Alias的详细说明.

消息(Messages)

好了,现在你已经知道什么是API函数了,但你也一定听说过消息(如果你还没有,你很快就会)并且想知道它是什么.消息是Windows告诉你的程序发生了哪些事件或要求执行特定操作的基本方法.例如,当用户点击一个按钮,移动鼠标,或是向文本框中键入文字时,一条消息就会被发送给你的窗体.

所有发送的消息都有四个参数--一个窗口句柄(hwnd),一个消息编号(msg)还有两个32位长度(Long)的参数.

hwnd即要接受消息的一个窗口的句柄,msg即消息的标识符(编号).该标识符是指引发消息的动作类型(如移动鼠标),另外两个参数是该消息的附加参数(例如当鼠标移动时光标的当前位置)

但是,当消息发送给你时你为什么看不到呢--就象有人在偷你的信一样?请先别恼火,让我告诉你.

小偷其实是Visual Basic.但它并没有偷走你的信,而是在阅读了之后挑出重要的以一种好的方式告诉你.这种方式就是你代码中的事件(Event).

这样,当用户在你的窗体上移动鼠标时,Windows会发送一条WM_MOUSEMOVE消息给你的窗口,VB得到这条消息以及它的参数并运行你在事件MouseMove中的代码,同时VB会把这条消息的第二个32位数(它包含了x,y坐标,单位为像素(Pixel),每个位16位)转换为两个单精度数,单位为缇(Twip).

现在,如果你需要光标坐标的像素表示,然而VB已经把它转换成了缇,因此你需要重新把它转换为以像素为单位.在这里,Windows给了你所需要的,但VB"好意地"进行了转换而使你不得不重新转换.你可能会问--我难道不能自己接收消息吗?答案是肯定的,你可以使用一种叫做子类处理(Subclass)的方法.但你除非必须否则最好不要使用,因为这与VB的安全程序设计有一点点的违背.(注:子类处理确实有很大的风险,但如果使用得当,是很有用处的.不过有一点一定要注意,即千万不要使用VB的断点调试功能,这可能会导致VB崩溃!)

需要补充说明的是:你可以发送消息给你自己的窗口或其他的窗口,只需调用SendMessage或PostMessage(SendMessage会使接受到消息的窗口立刻处理消息,而PostMessage是把消息发送到一个称为消息队列的队列中去,等候处理(它将会在该消息处理完后返回,例如有些延迟)).你必须制定接受消息的窗口的句柄,欲发送消息的编号(所有的消息的编号均为常量,你可以通过API Text Viewer查得)以及两个32位的参数。

另一种含义:

1:美国石油协会(API:American Petrolenm Institute):制定机油标准的组织。汽车用发动机机油必须符合API提出的标准。

2:API还有一种含意:空气污染指数。【英文 air pollution index 的缩写】

3:在JAVA中,API除了有应用“程序程序接口”的意思外,还特指JAVA API的说明文档,也称为JAVA帮助文档。
参考资料:http://bk.baidu.com/view/16068.htm

MFC是微软封装了的API。什么意思呢?windows作为一个提供功能强大的应用程序接口编程的操作系统,的确方便了许多程序员,传统的win32开发(直接使用windows的接口函数API)对于程序员来说非常的困难,因为
API函数实在太多了,而且名称很乱,从零构架一个窗口动辄就是上百行的代码。MFC是面向对象程序设计与Application framework的完美结合,他将传统的API进行了分类封装,并且为你创建了程序的一般框架,你只要随便添加几行代码,就能形成你自己的程序。非常方便。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-04-29
硬件么多买买报纸,电脑报,微型计算机什么的

软件么,范围太广

如果是大学生,可以去计算机专业旁听一下,如果想真正成为一个计算机方面的人,首先你要有一门拿的出手的编程
其次要精通一个方向(网络,系统,还是编译等)你不可能把每一样东西都学精,能做到的只是精通1-2样,然后各方面都懂一点
先做到这2步
第2个回答  2009-04-21
建议你看看清华大学出版社的 计算机硬件组装与维护
我就学的这个 里面内容通俗易懂,有大量图片配套 想必对各位新手或高人们都有不同程度的提升。
当然,学习哪个也需要记忆,多多跑市场,多看看真实的物理器件(硬件),多动手,多留意,想学不好都不可能。
呵呵,这应该足够了吧
但是如果你想更深入的学习的话,不妨买本计算机原理的书去看看,那个会更深层的剖析计算机硬件。
第3个回答  2009-04-22
继续学C语言。 C是基础 也是很强大的语言 C语言学通以后 你以上的问题就不存在了 在学的过程中都会有涉及到! 数据结构这东西如果编程的话是很重要的 看你兴趣了 硬件方面了解就可以 编程的话必须具备的东西!
第4个回答  2009-04-22
电脑就是一工具,用个几年自然就会,天天用,天天玩,怎么样也略通一二了,我95年的时候说自己对电脑很感兴趣,大家觉得我蛮新潮的,怎么现在还有人说自己对电脑感兴趣?。。古代人吧?