飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3671|回复: 4

汇编语言小例子1--用WIN32 API来获取当前目录

[复制链接]

该用户从未签到

发表于 2006-6-22 13:29:47 | 显示全部楼层 |阅读模式
调用WIN32 API获取了当前目录,在MASM环境下编译。。。。。。。



;----------------
;编译模式="CON"
;----------------
.386
.model flat, stdcall
option casemap :none

include windows.inc
include user32.inc
include kernel32.inc
include masm32.inc

includelib user32.lib
includelib kernel32.lib
includelib masm32.lib
;-------------------------------------------------------

.DATA
        szPath db 256 dup(?)
.CODE
START:

        invoke GetCurrentDirectory,256,addr szPath  ;获取当前目录
        invoke StrLen,addr szPath
        mov ebx,eax                      ;得到字符串长度,用于修正缓冲区内容
        mov szPath[ebx],13
        inc ebx
        mov szPath[ebx],10
        inc ebx
        mov szPath[ebx],0
        push ebx
        invoke StdOut,addr szPath
        pop ebx
        .while(ebx!=0)                     ;清空缓冲区,此处WHILE为MASM新增的高级特性
           mov szPath[ebx],0
                dec ebx
        .endw
        mov szPath[ebx],0
        invoke StdIn,addr szPath,sizeof szPath
        invoke StrLen,addr szPath
        mov ebx,eax
        sub ebx,2
        mov szPath[ebx],0
        invoke SetCurrentDirectory,addr szPath

        invoke GetCurrentDirectory,256,addr szPath
        invoke StrLen,addr szPath
        mov ebx,eax
        mov szPath[ebx],13
        inc ebx
        mov szPath[ebx],10
        inc ebx
        mov szPath[ebx],0
        invoke StdOut,addr szPath

        invoke ExitProcess,0

end START

[ 本帖最后由 caterpilla 于 2006-6-22 13:35 编辑 ]
PYG19周年生日快乐!

该用户从未签到

发表于 2006-6-23 19:44:43 | 显示全部楼层
LINK : fatal error LNK1104: cannot open file "masm32.lib"

构建时发生错误.
总共编译时间 687 毫秒

楼主能传个上来吗?
PYG19周年生日快乐!

该用户从未签到

发表于 2006-6-23 19:49:44 | 显示全部楼层
还有这个

szPath db 256 dup(?)

是定以数组吗?我是个新手,能具体讲讲吗?

如果楼主懂易语言的话,就结合易语言来讲,谢谢!
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2006-6-23 20:03:32 | 显示全部楼层
原帖由 hacker0058 于 2006-6-23 19:49 发表
还有这个

szPath db 256 dup(?)

是定以数组吗?我是个新手,能具体讲讲吗?

如果楼主懂易语言的话,就结合易语言来讲,谢谢!

这是定义256字节的缓冲区,相当于是数组吧。易语言不懂,但能定义数组的话,可以定义一个BYTE类型的数组。
PYG19周年生日快乐!

该用户从未签到

发表于 2006-6-23 20:08:28 | 显示全部楼层
哦,明白了
PYG19周年生日快乐!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表