最近这几个月一直在学编程,从最初的一点都不懂到现在的懂了一点点,我自己还是感觉很欣慰的.但是现在碰到困难了. 我都不知道该从哪学起.突然感觉我以前学习的方法都不对.麻烦各位大哥能帮我解决困惑
最初在几年前我接触到了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直播授课