PathFileExists检查文件是否存在

原创 2015年11月19日 12:37:34

假设有以下代码:

	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

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

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

转载于:http://www.cnblogs.com/joeblackzqq/archive/2010/11/09/1872309.html BOOL PathFileExists(LPCTSTR ...

PathFileExists用法--使用#include

BOOL PathFileExists(LPCTSTRpszPath);         Determines if a file exists. ---经检测,该函数可以检测文件或目录是否存在!Re...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

MFC为子窗口绘制透明背景

这篇贴给有一定GDI基础的人看,基础不好的直接抄代码吧(最后一块代码是对的,别抄错); “把父窗上被子窗口占用的区域的背景绘制到子窗口上实现视觉透明”,这句话忘了从哪来的了,反正很多人在用,而且m...

VC实现顶层窗口的透明与实现子窗口的透明【重点:子窗口透明处理】

本人在vc开发过程中,多次因窗口透明而煞费苦心,在本人的前一文章《UpdateLayeredWindow与SetLayeredWindowAttributes》中已经指明实现窗口的透明方法,在过往实际...

Windows电源管理

本文转自:http://blog.csdn.net/sad_4978/article/details/3776887感谢作者! 对于电源管理这部分功能,在做桌面软件的时候需要经常使用。尤其是在刻录光...

开源Ethercat主站 SOEM和IgH的比较

简介EtherCAT的主站开发是基于EtherCAT机器人控制系统的开发中非常重要的环节。目前常见开源的主站代码为的RT-LAB开发的SOEM (Simple OpenSource EtherCAT ...

Linux内核创建socket的过程

当我们调用socket()这个系统调用的时候,Linux内核究竟做了哪些事情呢? Ok,就让我们来看看这socket背后的故事吧。 1.用户程序首先调用socket()系统调用,其原型为: ...

C++ 中 ZeroMemory、memset 危险需慎用

使用C/C++编程时,常使用ZeroMemory、memset或 “={0}”来对结构体对象进行初始化或清零。然而这三种方式都有各自的特点,使用时需谨慎,否则容易出现严重错误,本人今日解决一个导致宕机...

matlab GUI之通用对话框

本文为本人另一个账号jason_yes上的文章,那个账号不要了,乾坤大挪移过来。 消息对话框 msgbox函数。它不接受用户的任何输入,在用户单击OK按钮后,对话框自动关闭,然后返回程序中继...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)