C语言获取桌面路径代码 - DLL实现
以下是用C语言编写的获取桌面路径的代码,可用于DLL:
#include <windows.h>
// 获取桌面路径
BOOL GetDesktopPath(LPWSTR pszPath, DWORD cchPath)
{
HRESULT hr = SHGetFolderPathW(NULL, CSIDL_DESKTOPDIRECTORY, NULL, SHGFP_TYPE_CURRENT, pszPath);
return SUCCEEDED(hr);
}
// 导出函数
__declspec(dllexport) BOOL __stdcall GetDesktopPathDLL(LPWSTR pszPath, DWORD cchPath)
{
return GetDesktopPath(pszPath, cchPath);
}
这段代码使用了Windows API中的SHGetFolderPathW函数来获取桌面路径,同时定义了一个导出函数GetDesktopPathDLL用于DLL调用。在使用时,需要将代码编译成DLL,并将DLL导入到其他程序中。例如,在C#中调用该DLL的代码如下:
[DllImport('DesktopPath.dll', CharSet = CharSet.Unicode)]
private static extern bool GetDesktopPathDLL(StringBuilder pszPath, uint cchPath);
// 获取桌面路径
public static string GetDesktopPath()
{
StringBuilder sb = new StringBuilder(260);
GetDesktopPathDLL(sb, 260);
return sb.ToString();
}
这段代码使用了C#中的DllImport特性来导入DLL,并定义了一个GetDesktopPath函数来调用导出函数GetDesktopPathDLL获取桌面路径。
原文地址: https://www.cveoy.top/t/topic/nnoL 著作权归作者所有。请勿转载和采集!