GetModuleFileName 获取程序全路径没有扩展名 用GetModuleFileName获取程序路径得到形如:“D:\\test\\test.”,扩展名exe不见了,且GetModuleFileName返回值不为0,可是在里面同样安装的另一程序获取就没有问题。请问有没有清楚是什么原因造成的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DWORD GetModuleFileName( HMODULE hModule, LPTSTR lpFilename, DWORD nSize);nSize是不是太小? #1 不是啊,size = 260,而且就放在根目录下,这个大小足够用了 你exe的全路径是D:\\test\\test.exe,但是GetModuleFileName获取到的是D:\\test\\test.是这个意思吧?你说的260应该是MAX_PATH。首先,把你调用GetModuleFileName的段落代码贴上来另外TCHAR path[MAX_PATH];GetModuleFileName(NULL,path,MAX_PATH)这样调用试试。 #3char szFile1[MAX_PATH]; memset(szFile1, 0, MAX_PATH); if(GetModuleFileName(NULL, szFile1, MAX_PATH - 1) == 0) { memset(szLog, 0, 128); sprintf_s(szLog, 127, "1出现错误,错误代码%d", GetLastError()); LogFile(szLog); } 非常奇怪的现象:就这个exe不好用,换了一个就好用了,放在别的电脑上也是好用的。 传 MAX_PATH 不需要 MAX_PATH - 1。不过不知道为何出错,你可以重启电脑试试,可能是偶然情况吧。 关于两个窗口的值传递,求高人解 Excel2003 Delete Worksheet的时候返回失败!有高手知道原因吗??? adobe的SVGView显示中文的问题 散分100,鼓励那些还没结帖的朋友,快快结帖 内存搬移 不用MFC,怎么创建并且维护一个队列? 如何将应用程序中的资源文件释放到外部?? 知道一个文件的文件名称,如何快速的得到这个文件的大小? 关于内存设备画图问题!亟待有人能解决! 菜鸟问题,高手帮帮忙啦。如何使listctrl的节点变灰,既不能点击。 ComboBox控件如何设置使其中一个选项不可选中。 opencv 2.4.8谁有好的学习建议吗? 或者资料
HMODULE hModule,
LPTSTR lpFilename,
DWORD nSize
);
nSize是不是太小?
你说的260应该是MAX_PATH。
首先,把你调用GetModuleFileName的段落代码贴上来
另外
TCHAR path[MAX_PATH];
GetModuleFileName(NULL,path,MAX_PATH)
这样调用试试。
memset(szFile1, 0, MAX_PATH);
if(GetModuleFileName(NULL, szFile1, MAX_PATH - 1) == 0)
{
memset(szLog, 0, 128);
sprintf_s(szLog, 127, "1出现错误,错误代码%d", GetLastError());
LogFile(szLog);
}