标题:最后一个盘符取不出来,请教。。
取消只看楼主
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
结帖率:54.55%
已结贴  问题点数:12 回复次数:2 
最后一个盘符取不出来,请教。。
程序代码:
;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
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-286897-1-1.html




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

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