| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 596 人关注过本帖
标题:程序所在目录的路径 。有别的方法么?
只看楼主 加入收藏
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
结帖率:54.55%
收藏
已结贴  问题点数:5 回复次数:3 
程序所在目录的路径 。有别的方法么?
程序代码:
push esi ;保存esi
mov esi,offset szFpname ;mov 里不能用addr 
invoke lstrlen,addr szFpname ;计算长度
add esi,eax   ;esi指向szFpname的第一个字符的地址,esi=esi+eax 这时esi指向路径的最后一个字符地址
mov al,'\'
.while TRUE
  .break .if byte ptr [esi-1]==al  ;esi指向的位置一遇到\就退出循环
dec esi
.endw
xor eax,eax ;把eax置0
mov word ptr [esi-1],ax   ;esi-1,及后一个字节为0 这样别的api函数就会戴断。得到所需的
invoke MessageBox,NULL,addr szFpname,CTXT("path"),0
pop esi

参照罗云彬的加\*.*方法
搜索更多相关主题的帖子: 路径 目录 
2009-09-24 18:29
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:5 
更低的可以用

repnz scansb


更高的可以用

char *strrchr(char *str, char c)

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-09-24 20:29
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
收藏
得分:0 
以下是引用东海一鱼在2009-9-24 20:29:54的发言:

更低的可以用

repnz scansb


更高的可以用

char *strrchr(char *str, char c)
char 这个是C函数么?
加入C的入栈方式就OK么??
2009-09-25 07:49
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
是的,它是ANSI C库函数

函数作用:查找一个字符串在另一个字符串中末次出现的位置,并返回字符串中的这个位置指针。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-09-25 08:13
快速回复:程序所在目录的路径 。有别的方法么?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.084281 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved