2024年5月1日发(作者:)
是UNC和URL地址动态链接库文件,用于注册键值和色彩设置等。而且,
其中还有不少非常实用的与路径有关的函数,如压缩路径PathCompactPath为省略形式:
C:Program FilesBorlandDelphi5SourceRtlWin-->C:Win
相对路径与绝对路径的转换PathCombine和PathRelativePathTo函数等,但都需要引用
文件。按Delphi7标准安装方式,却没有该文件。怎么办呢?可以将如下内
容保存到一个新文件中,并命名为保存到工程目录下即可。
unit ShlWapi;
interface
uses
windows;
//
//=============== Path Routines ===================================
//
function PathAddBackslash(pszPath: LPSTR): LPSTR; stdcall; external '' name
'PathAddBackslashA';
function PathAddExtension(pszPath: LPSTR; pszExt: LPCSTR): Bool; stdcall; external
'' name 'PathAddExtensionA';
function PathAppend(pszPath: LPSTR; pMore: LPCSTR): Bool; stdcall; external ''
name 'PathAppendA';
function PathBuildRoot(szRoot: LPSTR; iDrive: integer): LPSTR; stdcall; external ''
name 'PathBuildRootA';
function PathCanonicalize(pszBuf: LPSTR; pszPath: LPCSTR): Bool;stdcall; external
'' name 'PathCanonicalizeA';
function PathCombine(szDest: LPSTR; lpszDir: LPCSTR; lpszFile: LPCSTR): LPSTR;stdcall;
external '' name 'PathCombineA';
function PathCompactPath(hDC: HDC; lpszPath: Pchar; dx: integer): BOOL; stdcall; external
'' name 'PathCompactPathA';
function PathCompactPathEx(pszOut: LPSTR; pszSrc: LPCSTR; cchMax: Uint; dwFlags:
DWORD ): BOOL;stdcall; external '' name 'PathCompactPathExA';
function PathCommonPrefix(pszFile1: LPCSTR; pszFile2: LPCSTR; achPath: LPSTR):
integer ;stdcall; external '' name 'PathCommonPrefixA';
function PathFileExists(pszPath: LPCSTR): BOOL;stdcall; external '' name
'PathFileExistsA';
function PathFindExtension(pszPath: LPCSTR): LPSTR;stdcall; external '' name
'PathFindExtensionA';
function PathFindFileName(pszPath: LPCSTR): LPSTR;stdcall; external '' name
'PathFindFileNameA';
function PathFindNextComponent(pszPath: LPCSTR): LPSTR;stdcall; external '' name
'PathFindNextComponentA';
//function PathFindOnPath(pszPath: LPSTR; LPCSTR* ppszOtherDirs): BOOL;stdcall; external
'' name 'PathFindOnPathA';
function PathGetArgs(pszPath: LPCSTR): LPSTR;stdcall; external '' name
'PathGetArgsA';
function PathGetCharType(ch: UCHAR): Uint ;stdcall; external '' name
'PathGetCharTypeA';
function PathGetDriveNumber(pszPath: LPCSTR): integer;stdcall; external '' name
'PathGetDriveNumberA';
function PathIsDirectory(pszPath: LPCSTR): BOOL;stdcall; external '' name
'PathIsDirectoryA';
function PathIsFileSpec(pszPath: LPCSTR): BOOL;stdcall; external '' name
'PathIsFileSpecA';
function PathIsPrefix(pszPrefix: LPCSTR; pszPath: LPCSTR): BOOL;stdcall; external
'' name 'PathIsPrefixA';
function PathIsRelative(pszPath: LPCSTR): BOOL;stdcall; external '' name
'PathIsRelativeA';
function PathIsRoot(pszPath: LPCSTR): BOOL;stdcall; external '' name 'PathIsRootA';
function PathIsSameRoot(pszPath1: LPCSTR; pszPath2: LPCSTR): BOOL;stdcall; external
'' name 'PathIsSameRootA';
function PathIsUNC(pszPath: LPCSTR): BOOL;stdcall; external '' name
'PathIsUNCA';
function PathIsUNCServer(pszPath: LPCSTR): BOOL;stdcall; external '' name
'PathIsUNCServerA';
function PathIsUNCServerShare(pszPath: LPCSTR): BOOL;stdcall; external '' name
'PathIsUNCServerShareA';
function PathIsContentType(pszPath: LPCSTR; pszContentType: LPCSTR): BOOL;stdcall;
external '' name 'PathIsContentTypeA';
function PathIsURL(pszPath: LPCSTR): BOOL;stdcall; external '' name 'PathIsURLA';
function PathMakePretty(pszPath: LPSTR): BOOL;stdcall; external '' name
'PathMakePrettyA';
function PathMatchSpec(pszFile: LPCSTR; pszSpec: LPCSTR): BOOL;stdcall; external
'' name 'PathMatchSpecA';
function PathParseIconLocation(pszIconFile: LPSTR): integer;stdcall; external '' name
'PathParseIconLocationA';
procedure PathQuoteSpaces(lpsz: LPSTR);stdcall; external '' name
'PathQuoteSpacesA';
function PathRelativePathTo(pszPath: LPSTR; pszFrom: LPCSTR; dwAttrFrom: DWORD ;
pszTo: LPCSTR; dwAttrTo: DWORD ): BOOL;stdcall; external '' name
'PathRelativePathToA';
procedure PathRemoveArgs(pszPath: LPSTR);stdcall; external '' name
'PathRemoveArgsA';
function PathRemoveBackslash(pszPath: LPSTR): LPSTR;stdcall; external '' name
'PathRemoveBackslashA';
procedure PathRemoveBlanks(pszPath: LPSTR);stdcall; external '' name
'PathRemoveBlanksA';
procedure PathRemoveExtension(pszPath: LPSTR);stdcall; external '' name
'PathRemoveExtensionA';
function PathRemoveFileSpec(pszPath: LPSTR): BOOL;stdcall; external '' name
'PathRemoveFileSpecA';
function PathRenameExtension(pszPath: LPSTR; pszExt: LPCSTR): BOOL;stdcall; external
'' name 'PathRenameExtensionA';
function PathSearchAndQualify(pszPath: LPCSTR; pszBuf: LPSTR; cchBuf: Uint ):
BOOL;stdcall; external '' name 'PathSearchAndQualifyA';
procedure PathSetDlgItemPath(hDlg: HWND ; id: integer ; pszPath: LPCSTR);stdcall; external
'' name 'PathSetDlgItemPathA';
function PathSkipRoot(pszPath: LPCSTR): LPSTR;stdcall; external '' name
'PathSkipRootA';
procedure PathStripPath(pszPath: LPSTR);stdcall; external '' name 'PathStripPathA';
function PathStripToRoot(pszPath: LPSTR): BOOL;stdcall; external '' name
'PathStripToRootA';
procedure PathUnquoteSpaces(lpsz: LPSTR);stdcall; external '' name
'PathUnquoteSpacesA';
function PathMakeSystemFolder(pszPath: LPCSTR): BOOL;stdcall; external '' name
'PathMakeSystemFolderA';
function PathUnmakeSystemFolder(pszPath: LPCSTR): BOOL;stdcall; external ''
name 'PathUnmakeSystemFolderA';
function PathIsSystemFolder(pszPath: LPCSTR; dwAttrb: DWORD ): BOOL;stdcall; external
'' name 'PathIsSystemFolderA';
implementation
end.


发布评论