DOSパスをショートに変換する
  (C) 2001 A c t o r .N e t Soft Ware



 以下に公開するソースなどの著作は 篠田直樹 に復帰します。
原則として無許可で使用する事が出来ますが、ここに書かれている内容を
直リンクや引用などであたかも第三者が作成した様に見せたり如何なる事情でも金銭が発生する行為を禁止します。

このソースは、「新山のホームページ」に掲載されているVB De UnLHA のソースを一部、引用させて頂いています。
http://www31.ocn.ne.jp/~heropa/



' A c t o r . N e t
' ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
'□□ http://actornet.hp.infoseek.co.jp/
'
'Copylight(C)2004 Naoki Shinoda

' DOSファイル名を得る
Public Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" _
(ByVal lpszLongPath As String, _
ByVal lpszShortPath As String, _
ByVal cchBuffer As Long) As Long

Public Function GetDosShortPathName(ByVal strLongPath As String) As String

Dim strShortPath As String * 300
Dim lngResult As Long

lngResult = GetShortPathName(strLongPath, strShortPath, Len(strShortPath))
If lngResult = 0& Then
'ファイルが見つからない場合は何も返さない。
GetDosShortPathName = ""
Else
GetDosShortPathName = Left(strShortPath, InStr(strShortPath, vbNullChar) - 1)
End If

End Function

ショートパスは Public Declare Function 以下の GetShortPathName WinAPIを使います。
Function から GetDosShortPathName を呼び出すと戻り値はショートパスに変換します。


Function コードはモジュール内に書いてください。



Copyright (C) 2001 A c t o r .N e t Soft Ware All Right Reserved