如何在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);
}
如评论中所述,您的返回类型是错误的。它返回一个DWORD
,指示复制到给定缓冲区中的字符串的长度,而不计算终止' '
字符。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: %lun"
"Full path: '%s'",
(unsigned long) string_len,
full_path);
}