扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

C++鐨凟xpandEnvironmentStrings鍑芥暟濡備綍浣跨敤

扬州沐宇科技
2023-08-06 07:03:50
c++

C++鐨凟xpandEnvironmentStrings鍑芥暟鍙互鐢ㄤ簬灏嗕竴涓寘鍚幆澧冨彉閲忕殑瀛楃涓蹭腑鐨勭幆澧冨彉閲忔墿灞曚负鍏跺搴旂殑鍊笺€?/p>

浣跨敤璇ュ嚱鏁扮殑涓€鑸楠ゅ涓嬶細

  1. 鍖呭惈Windows.h澶存枃浠讹紝鍏朵腑鍖呭惈浜咵xpandEnvironmentStrings鍑芥暟鐨勫0鏄庡拰瀹氫箟銆?/li>
#include <Windows.h>
  1. 鍒涘缓涓€涓瓧绗︽暟缁勶紝鐢ㄤ簬瀛樺偍鎵╁睍鍚庣殑瀛楃涓层€?/li>
char expandedPath[MAX_PATH];
  1. 璋冪敤ExpandEnvironmentStrings鍑芥暟鏉ヨ繘琛岀幆澧冨彉閲忕殑鎵╁睍銆傝鍑芥暟鐨勫師鍨嬪涓嬶細
DWORD ExpandEnvironmentStrings(
LPCWSTR lpSrc,
LPWSTR  lpDst,
DWORD   nSize
);

鍏朵腑锛宭pSrc鏄鎵╁睍鐨勫瓧绗︿覆锛宭pDst鏄瓨鍌ㄦ墿灞曞悗鐨勫瓧绗︿覆鐨勭紦鍐插尯锛宯Size鏄紦鍐插尯鐨勫ぇ灏忋€?/p>

  1. 妫€鏌xpandEnvironmentStrings鍑芥暟鐨勮繑鍥炲€笺€傚鏋滆杩斿洖鍊煎皬浜庣瓑浜巒Size锛屽垯琛ㄧず鎵╁睍鎴愬姛锛屾墿灞曞悗鐨勫瓧绗︿覆宸茬粡瀛樺偍鍦╨pDst涓紱濡傛灉杩斿洖鍊煎ぇ浜巒Size锛屽垯琛ㄧず缂撳啿鍖哄お灏忥紝闇€瑕侀噸鏂板垎閰嶄竴涓冻澶熷ぇ鐨勭紦鍐插尯銆?/li>

涓嬮潰鏄竴涓ず渚嬩唬鐮侊細

#include <Windows.h>
#include <iostream>
int main()
{
wchar_t src[50] = L"%SystemRoot%\\System32";
wchar_t dst[MAX_PATH];
DWORD result = ExpandEnvironmentStrings(src, dst, MAX_PATH);
if (result <= MAX_PATH)
{
std::wcout << L"Expanded path: " << dst << std::endl;
}
else
{
std::cout << "Buffer size too small. Expanded path: " << result << std::endl;
}
return 0;
}

杩欎釜渚嬪瓙涓紝鎴戜滑灏?quot;%SystemRoot%\System32"瀛楃涓蹭腑鐨?quot;%SystemRoot%"鐜鍙橀噺鎵╁睍涓哄叾瀵瑰簲鐨勫€硷紝骞跺皢鎵╁睍鍚庣殑缁撴灉鎵撳嵃鍑烘潵銆?/p>

扫码添加客服微信