| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 530 人关注过本帖
标题:最后一个盘符取不出来,请教。。
只看楼主 加入收藏
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
结帖率:54.55%
收藏
已结贴  问题点数:12 回复次数:4 
最后一个盘符取不出来,请教。。
程序代码:
;by onepc 153785587
;;;;;;;取得本地盘符 
_getdriver proc uses esi
       local @dwDriverSize
       local @szDriverBuffer[MAX_PATH]:BYTE
     invoke RtlZeroMemory,addr @szDriverBuffer,sizeof @szDriverBuffer
       
     invoke GetLogicalDriveStrings,@dwDriverSize,addr @szDriverBuffer  ;存放的是A:\,0,C:\,0   [A:\,0]这里刚才是四b
     ;就是指针加移动4之后指向值不为0时循环。取盘符
     ;invoke MessageBox,NULL,addr @szDriverBuffer,CTXT("Driver"),0 ;这里只能得到第一个盘符。遇0结束
     lea esi,@szDriverBuffer  ;把缓冲区的地址传给esi
     xor ebx,ebx
      .while TRUE
          invoke MessageBox,NULL,esi,CTXT("Driver"),0 
         .break .if byte ptr [esi]==bl
         add esi,4
      .endw   

  ret
_getdriver endp
;;;;;;;取得本地盘符



我这里的G盘[最后一个盘。] 不能显示。。
2009-09-25 15:25
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
xor ebx,ebx
.while TRUE
          invoke MessageBox,NULL,esi,CTXT("Driver"),0  
         .break .if byte ptr [esi + 4] == bl         ;判断下一个,不是当前,否则最后一个误判(当前不为零,但add esi,4后可能已为0
         add esi,4
.endw   

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-09-26 14:31
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
收藏
得分:0 
谢谢一条鱼兄。~
2009-09-26 14:34
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
收藏
得分:0 
不过还是显不出来。看上去应是这样的了。不过就是会出来一个空的对话框。
我直接用esi+X也出不来。只是一个空对话框出来。
2009-09-26 14:42
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:12 
回复 4楼 onepc
没有发现你说的现象。
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 东海一鱼 于 2009-9-26 15:25 编辑 ]

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-09-26 15:22
快速回复:最后一个盘符取不出来,请教。。
数据加载中...
 
   



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

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