fixlfn.h

来自「一个类似windows」· C头文件 代码 · 共 33 行

H
33
字号
//
// FixLFN.h
//

#ifndef __FIXLFN_H
#define __FIXLFN_H

#include <string.h>
#include <tchar.h>
#include <shellapi.h>

inline int FixLFN ( const TCHAR* pBadFileName, TCHAR* pGoodFileName )
{
	SHFILEINFO sfi;
	TCHAR* p;

	DWORD dwResult = SHGetFileInfo ( pBadFileName, 0, &sfi, sizeof(sfi), SHGFI_DISPLAYNAME );
	if ( dwResult )
	{
		if ( pGoodFileName != pBadFileName )
			_tcscpy ( pGoodFileName, pBadFileName );
		if ( (p = _tcsrchr ( pGoodFileName, '\\' )) )
			_tcscpy ( p+1, sfi.szDisplayName );
		else if ( (p = _tcsrchr ( pGoodFileName, '/' )) )
			_tcscpy ( p+1, sfi.szDisplayName );
		else
			_tcscpy ( pGoodFileName, sfi.szDisplayName );
	}
	return dwResult;
}

#endif//__FIXLFN_H

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?