最后一个盘符取不出来,请教。。
程序代码:
;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盘[最后一个盘。] 不能显示。。