Tôi sử dụng GetEnvironmentString()
để nhận các biến môi trường của chương trình.Các biến môi trường lạ này là gì?
Mỗi chương trình có kết quả như vậy trong lần đầu tiên:
=::=::\
Tôi không biết điều đó có nghĩa là gì?
Đây là mã:
LPWCH lpEnvString=GetEnvironmentStringsW();
LPWSTR lpszVariable=(LPWSTR)lpEnvString;
while (*lpszVariable)
{
wprintf(L"%s\n",lpszVariable);
lpszVariable+=wcslen(lpszVariable)+1;
}
FreeEnvironmentStringsW(lpEnvString);
Ngoài ra nếu chúng ta bắt đầu niêm yết biến như vậy chúng ta sẽ thấy những thứ như:
=::=::\
=C:=C:\Users\username\value
=ExitCode=00000001
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\artik\AppData\Roaming
CommonProgramFiles=C:\Program Files (x86)\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
...
Mặt khác, getenv("=ExitCode")
hoặc getenv("=C:")
trả về null.
Bạn có thể cung cấp tài liệu thích hợp về "tính năng" này không, ví dụ getenv()
bỏ qua các chuỗi như vậy và cách xử lý các giá trị như vậy?
Hiển thị mã cho chúng tôi. – Nick
@Nick Tất cả những gì bạn cần làm là gọi 'GetEnvironmentStrings() ' –
Tôi đoán tôi muốn kiểm tra xem anh ta đang làm gì với giá trị trả về để nhận chuỗi được cung cấp. Ngoài ra - bạn đang giả sử tôi có một cửa sổ PC :) – Nick