首页
社区
课程
招聘
[求助]各位大哥,现在学习碰到困难了,麻烦来帮帮忙
发表于: 2008-9-23 00:06 4310

[求助]各位大哥,现在学习碰到困难了,麻烦来帮帮忙

2008-9-23 00:06
4310
最近这几个月一直在学编程,从最初的一点都不懂到现在的懂了一点点,我自己还是感觉很欣慰的.但是现在碰到困难了.        我都不知道该从哪学起.突然感觉我以前学习的方法都不对.麻烦各位大哥能帮我解决困惑

      最初在几年前我接触到了VB但是这门语言给我的感觉很不好,我感觉就像用别人做出来的软件来编软件一样,没学几天我就放弃了.偶尔间突然看见一个小木偶的网站,上面写了关于汇编的知识,也写了小木偶前辈的学习经历.

        由于当时根本不知道汇编这东西,只是对上面的寄存器,标志位什么的非常感兴趣.让我感觉好象是拨开了一切的伪装,是最有技术含量的东西.渐渐的开始接触汇编了

     但是由于编程的基础太差,我潜心学了几个月的c语言,感觉自己有点底了.但是还是没有发现编程的乐趣,总让我感觉编程就是编写一些运算方面的东西.由最初小木偶前辈的网站给我的一点动力让我一直坚持在学,我c语言学的感觉有点基础后就开始学汇编了.现在对汇编的指令基本知道是干什么的了,可能是我求快吧!    还没把汇编搞熟练就发现了新的大陆   也就是Win32汇编  

     也就是他  让我清楚了很多东西,原来现在我们使用的软件是API编出来的.  渐渐的我对这东西越来越感兴趣.对加密与解密也越来越有兴趣.
       我从汇编到现在Win32汇编编程也已经有三四个月了.因为现在用汇编写DOS下的程序好象已经很古老了,所以我放弃了在dos下的汇编程序设计.可能因为保护模式的问题吧,中断好象没什么作用了,所以我连中断大全这本书都没看就开始学API函数了.唯一清楚了也就是一个mov ah,9h   mov  dx,szText    int 21h,而且也没用这编写过在dos下运行的hello  word.但是我用过c语言写的dos下运行的程序,也清楚在dos下程序运行的摸样.

       哎,上面说了一通的屁话,也没到正题上,我只是样让各位大哥能够多分析下我现在的处境.

       Win32下的汇编程序设计是我现在一直在学的东西.有个把星期了.但是我却一直没有把用CreateWindow这个API函数创建的窗口程序编好,源代码都可以通过,程序运行就是没有反映.程序的确是运行了,但是我却什么都没看到.

       书上说这是入门的第一步,哎!我已经搞了三四天了,这个窗口程序都没自己写出来.书上的源代码编出来的东西运行都有效果.而我的却没有,  我分析了有几天了还是没有找道原因.
       真是不懂死钻,我钻进死胡同了,本来开始我还以编程序只用到API的函数.没想到还有N多N多是数据结构,消息结构,参数.

       我都不知道该往哪学,从哪下手.就一个入门的窗口程序我都花了几天还没搞懂,哪以后更难的我不是一点门都不清楚?

       到底是先把汇编的转移指令的用法搞的很熟练在学api还是先学api函数和他的数据结构,消息,参数.学好了后在去把汇编的转移指令搞熟练.    在就是api函数到底是先学一些结构在学函数,还是学函数在学结构.我很不喜欢枯燥的学一些死的东西.这样让我感觉编程没有一点自由一样,我想又能边学又有乐趣,能编写的出来东西,又能学到东西.但是一个最简单的窗口函数我现在都没搞懂,又怎么边学边用.这些数据结构,和消息参数搞的我头都大了.开始还只有一个WNDCLASSEX结构,后来又来了个MSG结构,然后又来了一个RECT结构,#$(*&@(   我都不知道怎么说了

     手上的资料太缺乏了,    好多书上的api函数资料上都找不到.GetModuleHandle这个函数我资料上都没有,虽然书上说了这函数的用法,但是太不全面了,MSG的消息参数更别说了.完全是知道有几个不知道干什么的,也不知道是谁来发送的,怎么发送的.

       我写的那个窗口程序是这样的一个概念,各位大哥先帮忙分析一下,然后在分析一下我现在因该怎么学.

       首先获得应用程序的句柄GetModuleHandle
       然后写一个窗口创建,显示,获得消息的子程序
    然后在写一个消息处理的子程序.

              首先我定义了一个WNDCLASSEX的结构,然后注册窗口类,然后创建窗口,创建窗口的句柄是我这个子程序的第一个参数hWnd,然后获得创建窗口函数返回的值放入hWnd,然后显示窗口,然后更新客户区UpdataWindow,然后写了获得消息的函数GetMessage,然后也写了转换键盘传送来的消息转换成as码的函数,然后Dispatch派送消息.然后是调用缺省的窗口来处理消息的函数.

             按道理说,我WNDCLASSEX结构定义以后在这个结构下有一个参数指定了DispatchWindow传递参数的目标,就是处理消息的子程序,UpdataWindow把这个窗口变成无效区域,然后Dispatch消息派送函数会发送一个消息到处理消息的子程序,这个子程序作用是获得设备的句柄,把无效区域变成有效区域.

              但是编译是通过了,运行了就是没有反映,不是说DispatchWindow它会自己调用窗口过程的吗?我是思路因该没有错啊.为什么运行了没反映啊

          另外,WNDCLASSEX这个结构需要背不要,  是要背他的参数还是直接不背,以后用直接拷贝啊.但是里面定义的风格要换,不是说参数还是要背啊,这么多的参数,记的头都大.麻烦帮忙给个好点的学习方案吧,            不然我完全不知道什么该记什么不该记.

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
希望早上7点前能收到消息
2008-9-23 00:49
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
说那么多都没有  直接发源代码好了
2008-9-23 07:48
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
4
别以为用汇编用API就不是用别人做出来的软件编软件。
2008-9-23 12:22
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不知道谁这么有闲情逸致去背诵那些模板,一查就出来了,而且被的话还不一定准确,时间长了也会忘记。
其实会查资料,会google就ok。个人认为。
最好找本书啃啃。最后就是勤奋了
2008-9-23 12:28
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
先学基础的编程思想(使用Pascal或者C),再找软件方面的工作(Java或者C#),有了真实的软件开发体会之后再按照自己兴趣逐步深入。

先学会走路,再学110米栏。
2008-9-23 12:52
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
7
再学捂左腿,再学捂右腿。
2008-9-23 13:10
0
雪    币: 65
活跃值: (811)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
8
慢慢来吧!
谁都是这样一步一步过来的!
至于不知道从哪里开始学,这个问题,找北极星2003大哥,他的编程小组“专门”解决这个问题!

PS:
我给点建议吧!
要整天的好高骛远,慢慢的先把基础弄好!
别想我,基础还没有学好,就研究深的东西,解决害的我又重头重新学了N遍!
这样即比较扎实又节省时间!
2008-9-25 18:57
0
游客
登录 | 注册 方可回帖
返回
//