关闭

PathFileExists检查文件是否存在

标签: windows apibug
2266人阅读 评论(0) 收藏 举报
分类:

假设有以下代码:

	TCHAR achKeepaliveServicePath[MAX_PATH] = { 0 };
	GetModuleFileName( NULL,
		achKeepaliveServicePath,
		_countof( achKeepaliveServicePath ) );
	PathRemoveFileSpec( achKeepaliveServicePath );
	PathCombine( achKeepaliveServicePath, 
		achKeepaliveServicePath,
		_T( "CaptureServerKeepAlive.exe" ) );
	PathQuoteSpaces( achKeepaliveServicePath );
	LPCTSTR lpSubKey = _T( "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run" );
	if( PathFileExists( achKeepaliveServicePath ) ){
		// 如果achKeepaliveServicePath被双绰号括起,PathFileExists后err,hr为 ERROR_INVALID_NAME : 文件名、目录名或卷标语法不正确。 
		lpSubKey = _T( "SOFTWARE\\KeepaliveProcessService" );
	}


被标记成红色的函数表示如果achKeepaliveServicePath所描述的路径中有空格则使用双引号括起路径,这是PathFileExists发生错误的根源所在。


MSDN并没说明PathFileExists检测的路径中不允许使用双引号括起(PathFileExists不是Shell函数……);


MSDN链接:

https://msdn.microsoft.com/en-us/library/windows/desktop/bb773584(v=vs.85).aspx

0
0
查看评论

PathFileExists 文件目录是否存在

if(!PathFileExists(_T("d:\\test")))        return NULL;   也可用CFileFinder查找文件是否存在。PathFileExists可查看目录和文件。
  • a379039233
  • a379039233
  • 2015-06-26 16:56
  • 1048

MFC查找指定文件是否存在,PathFileExists 函数

MFC查找指定文件,VC++PathFileExists函数
  • HK_5788
  • HK_5788
  • 2017-02-20 20:10
  • 2294

C++中文件的读出及写入

1>在C语言中,我们都知道怎样直接用txt文件输入以及把输出结果直接输出到文件中。写法很简单: freopen("Input.txt","r",stdin); freopen("Output.txt","w...
  • y990041769
  • y990041769
  • 2015-03-10 17:27
  • 17330

error LNK2001: unresolved external symbol __imp__PathFileExistsA@4

PathFileExists Determines whether a path to a file system object such as a file or directory is valid.  BOOL PathFileExists(    ...
  • zcc1414
  • zcc1414
  • 2013-12-22 21:26
  • 1453

PathFileExists用法--使用#include

BOOL PathFileExists(LPCTSTRpszPath);<br />         Determines if a file exists. <br />---经检测,该函数可以...
  • cnki_ok
  • cnki_ok
  • 2011-05-09 14:22
  • 5528

PathFileExists用法--使用#include <shlwapi.h>

转载于:http://www.cnblogs.com/joeblackzqq/archive/2010/11/09/1872309.html BOOL PathFileExists(LPCTSTR pszPath);       ...
  • caodesheng110
  • caodesheng110
  • 2011-08-31 15:49
  • 8023

PathFileExists检查文件是否存在

假设有以下代码: TCHAR achKeepaliveServicePath[MAX_PATH] = { 0 }; GetModuleFileName( NULL, achKeepaliveServicePath, _countof( achKeepaliveServicePath )...
  • passFuHao
  • passFuHao
  • 2015-11-19 12:37
  • 2266

PathFileExists用法--使用#include <shlwapi.h>

BOOL PathFileExists(LPCTSTR pszPath);          Determines if a file exists. ---经检测,该函数可以检测文件或目录是否存在! Remarks ...
  • zdhlwt2008
  • zdhlwt2008
  • 2015-07-02 16:32
  • 549

关于判断文件是否存在最高效的函数(转)

判断文件存在方法有很多,例如CreateFile,FindFirstFile,GetFileAttributes,PathFileExists等等。但是哪一种更加高效呢?其实作为常识,可能都能判断出GetFileAttributes和PathFileExists会比较快(而实际上PathFileEx...
  • dragoo1
  • dragoo1
  • 2015-03-20 15:22
  • 1741

iis7.0 检查文件是否存在

<br />http://www.webdavsystem.com/server/documentation/hosting_iis_asp_net/creating_webdav_iis7
  • yimi_love
  • yimi_love
  • 2010-10-13 13:33
  • 1646
    个人资料
    • 访问:25113次
    • 积分:520
    • 等级:
    • 排名:千里之外
    • 原创:26篇
    • 转载:0篇
    • 译文:0篇
    • 评论:4条
    文章分类
    最新评论