如何在Windows PC上获取DLL的完整路径?它只显示一个空白的控制台程序,没有别的
代码看起来像这样
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
TCHAR full_path[MAX_PATH];
LPSTR info = GetFullPathName(TEXT("freddie.dll"), MAX_PATH, full_path, NULL);
printf("%s",info);
}
答案 0 :(得分:0)
如评论中所述,您的返回类型是错误的。它返回一个DWORD
,表示复制到给定缓冲区的字符串的长度,而不计算终止'\0'
字符。 GetFullPathName文档对此非常清楚。还有一个使用该功能的例子。
即使您将退货类型更改为DWORD
。 printf
应如何使用格式说明符DWORD
打印%s
。
所以这是一个作为C代码的工作示例,因为即使您的代码包含C ++,您的代码也是C。
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
TCHAR full_path[MAX_PATH];
DWORD string_len = GetFullPathName (TEXT("freddie.dll"),
MAX_PATH,
full_path,
NULL);
printf ("Length of full path string: %lu\n"
"Full path: '%s'",
(unsigned long) string_len,
full_path);
}