| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 530 人关注过本帖
标题:最后一个盘符取不出来,请教。。
取消只看楼主 加入收藏
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
快速回复:最后一个盘符取不出来,请教。。
数据加载中...
 
   



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

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