获取系统环境变量-GetEnvironmentVariable

GetEnvironmentVariable是一个从调用该函数的进程的环境变量中返回指定的变量名值的函数,主要参数有lpName、lpBuffer等。

GetEnvironmentVariable函数从调用该函数的进程的环境变量中,返回指定的变量名的值,该值是一个以零结尾的字符串指针.

DWORD GetEnvironmentVariable(

LPCTSTR lpName, // address of environment variable name

LPTSTR lpBuffer, // address of buffer for variable value

DWORD nSize // size of buffer, in characters

);

参数:

lpName:要获取值的变量名字符串指针.

lpBuffer:接收变量值的字符串指针

nSize:接收变量值的内存大小.

返回值:

如果函数成功执行,则返回值是写入字符缓冲区的字符数量,但不包含‘\0‘字符.

如果没有找到所指的变量,则返回零.

如果字符缓冲区的大小小于变量值的长度,返回值为缓冲区的大小.

SysUtils

function GetEnvironmentVariable(const Name: string): string;

-------------------------------------------------------------------------------------------

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Clear;
  Memo1.Lines.Add(‘WIN目录: ‘ + GetEnvironmentVariable(‘WINDIR‘));
  Memo1.Lines.Add(‘系统目录: ‘ + GetEnvironmentVariable(‘SYSTEMROOT‘));
  Memo1.Lines.Add(‘系统根目录: ‘ + GetEnvironmentVariable(‘SYSTEMDRIVE‘));
  Memo1.Lines.Add(‘当前用户根目录: ‘ + GetEnvironmentVariable(‘HOMEDRIVE‘));
  Memo1.Lines.Add(‘当前用户目录: ‘ + GetEnvironmentVariable(‘USERPROFILE‘));
  Memo1.Lines.Add(‘当前用户路径: ‘ + GetEnvironmentVariable(‘HOMEPATH‘));
  Memo1.Lines.Add(‘当前用户临时文件夹: ‘ + GetEnvironmentVariable(‘TMP‘));
  Memo1.Lines.Add(‘当前用户临时文件夹: ‘ + GetEnvironmentVariable(‘TEMP‘));
  Memo1.Lines.Add(‘当前用户数据文件夹: ‘ + GetEnvironmentVariable(‘APPDATA‘));
  Memo1.Lines.Add(‘程序默认安装目录: ‘ + GetEnvironmentVariable(‘PROGRAMFILES‘));
  Memo1.Lines.Add(‘文件通用目录: ‘ + GetEnvironmentVariable(‘COMMONPROGRAMFILES‘));
  Memo1.Lines.Add(‘当前用户名: ‘ + GetEnvironmentVariable(‘USERNAME‘));
  Memo1.Lines.Add(‘所有用户文件目录: ‘ + GetEnvironmentVariable(‘ALLUSERSPROFILE‘));
  Memo1.Lines.Add(‘操作系统名: ‘ + GetEnvironmentVariable(‘OS‘));
  Memo1.Lines.Add(‘计算机名: ‘ + GetEnvironmentVariable(‘COMPUTERNAME‘));
  Memo1.Lines.Add(‘处理器个数: ‘ + GetEnvironmentVariable(‘NUMBER_OF_PROCESSORS‘));
  Memo1.Lines.Add(‘处理器芯片架构: ‘ + GetEnvironmentVariable(‘PROCESSOR_ARCHITECTURE‘));
  Memo1.Lines.Add(‘处理器型号: ‘ + GetEnvironmentVariable(‘PROCESSOR_LEVEL‘));
  Memo1.Lines.Add(‘处理器修订号: ‘ + GetEnvironmentVariable(‘PROCESSOR_REVISION‘));
  Memo1.Lines.Add(‘包含用户帐号的域: ‘ + GetEnvironmentVariable(‘USERDOMAIN‘));
  Memo1.Lines.Add(‘COMSPEC: ‘ + GetEnvironmentVariable(‘COMSPEC‘));
  Memo1.Lines.Add(‘执行文件类型: ‘ + GetEnvironmentVariable(‘PATHEXT‘));
  Memo1.Lines.Add(‘搜索路径: ‘ + GetEnvironmentVariable(‘PATH‘));
end;

end.

  

-------------------------------------------------------------------------------------------------

object Form1: TForm1
  Left = 288
  Top = 184
  Width = 882
  Height = 675
  Caption = ‘Form1‘
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = ‘MS Sans Serif‘
  Font.Style = []
  OldCreateOrder = False
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object Memo1: TMemo
    Left = 0
    Top = 0
    Width = 866
    Height = 636
    Align = alClient
    Lines.Strings = (
      ‘Memo1‘)
    ScrollBars = ssVertical
    TabOrder = 0
  end
end

  

原文地址:https://www.cnblogs.com/delx/p/11320146.html

时间: 2024-11-10 14:45:41

获取系统环境变量-GetEnvironmentVariable的相关文章

GetEnvironmentVariable 获取系统环境变量

转,原文地址https://blog.csdn.net/hellokandy/article/details/52242365 常用的系统环境变量有: WINDIR: //系统目录 - C:\WINDOWS SYSTEMROOT: //系统目录 - C:\WINDOWS SYSTEMDRIVE: //系统根目录 - C: HOMEDRIVE: //当前用户根目录 - C: USERPROFILE: //当前用户目录 - C:\Users\Kandy HOMEPATH: //当前用户路径 - \U

Java获取系统环境变量(System Environment Variable)和系统属性(System Properties)以及启动http://m.jb51.net/article/83454.htm参数的方法

系统环境变量(System Environment Variable): 在Linux下使用export $ENV=123指定的值.获取的方式如下: Map<String,String> map = System.getenv(); Set<Map.Entry<String,String>> entries = map.entrySet(); for (Map.Entry<String, String> entry : entries) { System.o

C#设置和获取系统环境变量

C#设置和获取环境变量 1.前言 本来想拿学校机房的Android编辑器直接粘到自己电脑上用,发现它的eclipse是 32位的,而我的JDK是64位的,于是想到干脆装两个JDK,用C#做一个能够更改环 境变量的程序 2.代码 Environment类下的静态方法 获取环境变量: public static string GetEnvironmentVariable(string variable, EnvironmentVariableTarget target); 参数: // variab

C/C++ 获取系统环境变量

#include <stdlib.h>#include <stdio.h> int main(void){char *pathvar;pathvar = getenv("PATH");printf("pathvar=%s",pathvar);system("pause");return 0;} 注: getenv() 是在stdlib中定义的,当然我们也可以在c++中,通过 #include<cstdlib>

获取系统环境变量

实现效果: 知识运用: Environment类的GetEnvironmentVariables方法 public static IDictionary GetEnvironmentVariables() //从当前进程检索所有环境变量名及其值 DictionaryEntry结构 //定义了可设置或检索的字典键/值对 Key 获取或设置键/值对中的键 Value 获取或设置键/值对中的值     实现代码: private void Form1_Load(object sender, Event

Pyqt QListWidget 展示系统环境变量

今天学习了下Pyqt的 QListWidget 控件 我们先看下这个图片 这张图片就是典型的listWidget效果,我们今天就仿这样布局新建个ListWidget 在网上找了个关于QListWidget的基础关系图: 官网对QListWidget的描述: The QListWidget class provides an item-based list widget. QListWidget is a convenience class that provides a list view si

springboot读取系统级环境变量,和读写系统属性以及unittest来获取环境变量的方法

环境变量的读取以及系统属性的设置 环境变量只能读取,不能修改,系统属性可以修改 系统变量的读取方式: System.getEnv() 系统属性有多重读取和修改方式: 其修改方式为: 读取系统属性: @Autowired AbstractEnvironment environment; System.setProperty("today","tuesday"); environment.getProperty("test"); 增加新的系统属性:

用 GetEnvironmentVariable 获取常用系统环境变量

//譬如 %WINDIR% 是表示系统目录的系统变量, 可以这样获取: var   s: string; begin   s := GetEnvironmentVariable('WINDIR');   ShowMessage(s); {C:\WINDOWS} end; %WINDIR%                {系统目录 - C:\WINDOWS} %SYSTEMROOT%            {系统目录 - C:\WINDOWS} %SYSTEMDRIVE%            {

[转]用 GetEnvironmentVariable 获取常用系统环境变量

以前曾用 GetWindowsDirectory.GetSystemDirectory.GetTempPath 等函数获取系统常用文件夹; 也用过 SHGetSpecialFolderLocation.SHGetPathFromIDList 函数获取过更多常用路径; 但这都不如用 GetEnvironmentVariable 获取系统变量来得快. //譬如 %WINDIR% 是表示系统目录的系统变量, 可以这样获取: var   s: string; begin   s := GetEnviro