阅读:1624回复:11
在vxd中,怎样在长文件名和短文件名之间转换啊?用户被禁言,该主题自动屏蔽! |
|
最新喜欢:okincn |
沙发#
发布于:2003-01-08 10:38
it seems difficult. concerning...
|
|
|
板凳#
发布于:2003-01-09 18:42
try this:
FS_EnumerateHandle |
|
|
地板#
发布于:2003-01-10 10:07
rayyang2000兄,EnumHandle得出来的文件名好像可能长也可能短,这个方法不妥。
|
|
|
地下室#
发布于:2003-01-11 13:39
:D 发了帖子,才发现好像有点文不对题。
Find File的结构里面好像有长和短文件名,可以试试看自己在里面查找。 |
|
|
5楼#
发布于:2003-01-13 14:02
使用Find File可能会导致IFS重入,死的好惨。
|
|
|
6楼#
发布于:2003-01-14 21:13
那是因为你调用了ifs的函数,直接调用fsd的handler可以避免。
|
|
|
7楼#
发布于:2003-01-16 10:14
你的意思是调用preIFSHook,函数指针那里来呢?
[编辑 - 1/16/03 by kenli79] |
|
|
8楼#
发布于:2003-01-16 11:23
Int 21/AX=7160h/CL=01h
Windows95 - LONG FILENAME - GET SHORT (8.3) FILENAME FOR FILE AX = 7160h CL = 01h CH = SUBST expansion flag 00h return a path containing true path for a SUBSTed drive letter 80h return a path containing the SUBSTed drive letter DS:SI -> ASCIZ long filename or path ES:DI -> 67-byte buffer for short filename Return:CF set on error AX = error code 02h invalid component in directory path or drive letter only 03h malformed path or invalid drive letter ES:DI buffer unchanged CF clear if successful ES:DI buffer filled with equivalent short filename (full path, even if relative path given, and all uppercase) Note: This call returns the short name for any long-filename portions of the provided pathname or filename See Also: AH=60h - AX=7160h/CL=00h - AX=7160h/CL=02h Category: DOS Kernel - Int 21h - W -------------------------------------------------------------------------------- Int 21/AX=7160h/CL=02h Windows95 - LONG FILENAME - GET CANONICAL LONG FILENAME OR PATH AX = 7160h CL = 02h CH = SUBST expansion flag 00h return a path containing true path for a SUBSTed drive letter 80h return a path containing the SUBSTed drive letter DS:SI -> ASCIZ short filename or path ES:DI -> 261-byte buffer for canonicalized long name Return:CF set on error AX = error code 02h invalid component in directory path or drive letter only 03h malformed path or invalid drive letter ES:DI buffer unchanged CF clear if successful ES:DI buffer filled with qualified long name (can contain lowercase letters) Desc: Determine the canonical name of the specified filename or path, corresponding to the undocumented TRUENAME command in COMMAND.COM Note: This call returns the short name for any long-filename portions of the provided pathname or filename BUG: Even though the maximum length of a complete long pathname is 260 characters, Windows95 returns CF set/AX=0003h even if the file exists whenever the full pathname is more than 255 characters See Also: AH=60h - AX=7160h/CL=00h - AX=7160h/CL=01h Category: DOS Kernel - Int 21h - W [编辑 - 1/16/03 by else] |
|
9楼#
发布于:2003-06-04 13:32
我知道方法的,有人要的话,我可以给!
|
|
10楼#
发布于:2003-06-12 11:22
在侯捷翻译的那本关于win95 vxd的书中有提到,很多函数转来转去的,可以看看,试试。
|
|
|
11楼#
发布于:2003-06-12 13:29
在侯捷翻译的那本关于win95 vxd的书中有提到,很多函数转来转去的,可以看看,试试。 那里面没有。 可以自己调用preIFSHook去查,函数指针自己记录下来 |
|