Variabel Lingkungan

Setiap proses memiliki blok lingkungan yang berisi sekumpulan variabel lingkungan dan nilainya. Ada dua jenis variabel lingkungan: variabel lingkungan pengguna (diatur untuk setiap pengguna) dan variabel lingkungan sistem (diatur untuk semua orang).

Secara default, proses anak mewarisi variabel lingkungan dari proses induknya. Program yang dimulai oleh prosesor perintah mewarisi variabel lingkungan prosesor perintah. Untuk menentukan lingkungan yang berbeda untuk proses anak, buat blok lingkungan baru dan teruskan penunjuk ke lingkungan tersebut sebagai parameter ke fungsi CreateProcess .

Prosesor perintah menyediakan perintah set untuk menampilkan blok lingkungannya atau untuk membuat variabel lingkungan baru. Anda juga dapat melihat atau mengubah variabel lingkungan dengan memilih Sistem dari Panel Kontrol, memilih Pengaturan sistem tingkat lanjut, dan mengklik Variabel Lingkungan.

Setiap blok lingkungan berisi variabel lingkungan dalam format berikut:

Var1=Nilai1\0
Var2=Nilai2\0
Var3=Nilai3\0
...
VarN=ValueN\0\0

Nama variabel lingkungan tidak dapat menyertakan tanda sama dengan (=).

Fungsi GetEnvironmentStrings mengembalikan penunjuk ke blok lingkungan dari proses panggilan. Ini harus diperlakukan sebagai blok baca-saja; jangan memodifikasinya secara langsung. Sebagai gantinya, gunakan fungsi SetEnvironmentVariable untuk mengubah variabel lingkungan. Ketika Anda selesai dengan blok lingkungan yang diperoleh dari GetEnvironmentStrings, panggil fungsi FreeEnvironmentStrings untuk membebaskan blok.

Memanggil SetEnvironmentVariable tidak berpengaruh pada variabel lingkungan sistem. Untuk menambahkan atau memodifikasi variabel lingkungan sistem secara terprogram, tambahkan ke kunci registri HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment , lalu siarkan pesan WM_SETTINGCHANGE dengan lParam yang diatur ke string "Lingkungan". Ini memungkinkan aplikasi, seperti shell, untuk mengambil pembaruan Anda.

Ukuran maksimum variabel lingkungan yang ditentukan pengguna adalah 32.767 karakter. Tidak ada batasan teknis pada ukuran blok lingkungan. Namun, ada batas praktis tergantung pada mekanisme yang digunakan untuk mengakses blok. Misalnya, file batch tidak dapat mengatur variabel yang lebih panjang dari panjang baris perintah maksimum.

Windows Server 2003 dan Windows XP: Ukuran maksimum blok lingkungan untuk proses adalah 32.767 karakter. Dimulai dengan Windows Vista dan Windows Server 2008, tidak ada batasan teknis pada ukuran blok lingkungan.

Fungsi GetEnvironmentVariable menentukan apakah variabel yang ditentukan ditentukan dalam lingkungan proses panggilan, dan, jika demikian, apa nilainya.

Untuk mengambil salinan blok lingkungan untuk pengguna tertentu, gunakan fungsi CreateEnvironmentBlock .

Untuk memperluas string variabel lingkungan, gunakan fungsi ExpandEnvironmentStrings .

Mengubah Variabel Lingkungan

Variabel Lingkungan Pengguna