能力值:
( LV12,RANK:420 )
|
-
-
2 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
这个不好弄吧.呵呵.不是人名.是文件名.拜托大哥严肃点.
大哥教个方法吧.求求你了.
|
能力值:
( LV3,RANK:30 )
|
-
-
4 楼
2个api行不行?
lea esi,szBuf
invoke PathRemoveFileSpec,esi
invoke lstrlen,esi
add esi,eax
inc esi
invoke MessageBox,0,esi,0,0
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
点子很好.但是不可行.
不对.API中直接错误.
|
能力值:
( LV3,RANK:30 )
|
-
-
6 楼
靠还我处女贴。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
哇,LS比我还强
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
你的处女贴.靠.还真是.
2006年入伙的.膜拜.6体投地.佩服.
|
能力值:
( LV3,RANK:30 )
|
-
-
9 楼
PathFindFileName("C:\\Folder\\File.txt");
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
great work.
thanks.
|
能力值:
(RANK:410 )
|
-
-
11 楼
要解释有中文名的路径,最好方法是将他转换成unicode编码再获取。
.data
szPath db 'C:\ChildrenAvRepository\“桜井りあ”\MAX GIRLS 7 080711 伊東遥 栗林里莉 黒木アリサ\MAX GIRLS 7 080711 伊東遥 栗林里莉 黒木アリサ.jpg',0
szFileName db 256*2 dup(0)
.code
start:
lea esi,szPath
lea edi,szFileName
xor edx,edx
; 下面的循环是将路径编码成unicode编码的格式(注:只是unicode编码格式,并不是标准的unicode编码,要转换成标准的unicode编码必须使用MultiByteToWideChar函数转换才是标准的)。
.while BYTE ptr [esi+edx]
.if BYTE ptr [esi+edx] <= 127
movzx eax,BYTE ptr [esi+edx]
inc edx
.else
mov ax,WORD ptr [esi+edx]
add edx,2
.endif
mov WORD ptr [edi],ax
add edi,2
.endw
lea edi,szFileName
invoke lstrlenW,edi
shl eax,1
mov cl,'\'
movzx ecx,cl
mov dx,WORD ptr [edi+eax-2]
; 从这里开始从路径后面开始判断获取文件名,以'\'字符为分割符判断。
.while (dx != cx) && eax
sub eax,2
mov dx,WORD ptr [edi+eax-2]
.endw
lea edi,[edi+eax]
invoke MessageBoxW,0,edi,NULL,MB_OK
invoke ExitProcess,NULL
ret
end start
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
这么复杂.
MessageBoxW前还得搞成正规的Unicode。
嗯~~~~
强制搜索标识比较强.
膜拜版主.
biggest maximum thanks to you!
祝您万寿无疆.
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
楼主的路径太强了。。。。
|
能力值:
( LV6,RANK:80 )
|
-
-
14 楼
还以上错论坛了
哦耶.哈哈哈哈..
|
能力值:
( LV3,RANK:30 )
|
-
-
15 楼
PathRemoveFileSpec修改了字符串
你不能用.const定义
这个定义是只读的
PathFindFileName
居然没有看见这个api
学习了。。
|
|
|