1. 程式人生 > >windows核心程式設計-獲得環境變數的方法

windows核心程式設計-獲得環境變數的方法

一:使用_environ獲得環境變數
#include<windows.h>
#include<stdio.h>
int main()
{
	char** p = _environ;//這是一個指向字串陣列的指標
	while (*p != NULL)
	{
		printf("%s\n", *p);
		p++;
	}

	getchar();

	return 0;
}

二:在控制檯中使用寬位元組的方式

#include<windows.h>
#include<tchar.h>
int wmain()
{
	TCHAR** p = _wenviron;//這是一個指向字串陣列的指標
	while (*p != NULL)
	{
		_tprintf(L"%s\n", *p);
		p++;
	}

	_gettchar();
	return 0;
}
三:使用GetEnvironmentVariable獲得指定環境變數,使用SetEnvironmentVariable重置環境變數
#include<windows.h>
#include<tchar.h>
int _tmain()
{
	TCHAR buf[1024];
	DWORD i;
	GetEnvironmentVariable(L"wxf", buf, 1024);
	i = GetLastError();
	_tprintf(L"%s\n", buf);

	SetEnvironmentVariable(L"wxf",L"okok");/*只能改變當前程序的環境變數!
										   對系統內的環境變數沒有影響,要改變的話到登錄檔中修改*/
	i = GetEnvironmentVariable(L"y=wxf", buf, 1024);
	_tprintf(L"%s\n", buf);


	_gettchar();
	return 0;
}

四:使用ExpandEnvironmentStrings獲得帶%...%的環境變數(得到的是路徑)
#include<windows.h>
#include<tchar.h>
int _tmain()
{
	/*
	獲得帶%字串的環境變數
	*/
	DWORD length = ExpandEnvironmentStrings(L"%USERPROFILE%",NULL,0);
	//第一次呼叫這個函式是為了獲得%USERPROFILE%被擴充套件後字串的大小
	TCHAR* str = new TCHAR[length+1];
	ExpandEnvironmentStrings(L"%USERPROFILE%", str, length);
	_tprintf(L"%s\n", str);

	_gettchar();
	return 0;
}

五:使用GetEnvironmentStrings獲得環境變數
#include<windows.h>
#include<tchar.h>
int _tmain()
{
	/*
	比較其他方法環境變數多第一行
	*/
	TCHAR *p=GetEnvironmentStrings();

	while (*p != 0)
	{
		_tprintf(L"%s\n", p);
		p = p + _tcslen(p) + 1;
	}

	_gettchar();
	return 0;
}


相關推薦

windows核心程式設計-獲得環境變數方法

一:使用_environ獲得環境變數#include<windows.h> #include<stdio.h> int main() { char** p = _environ;//這是一個指向字串陣列的指標 while (*p != NULL)

基於visual c++之windows核心程式設計程式碼分析(21)獲取和設定環境變數

環境變數是一個具有特定名字的物件,它包含了一個或者多個應用程式所將使用到的資訊。例如path,當要求系統執行一個程式而沒有告訴它程式所在的完整路徑時,系統除了在當前目錄下面尋找此程式外,還應到path中指定的路徑去找。使用者通過設定環境變數,來更好的執行程序。 環境變數一

windows核心程式設計-程序的控制代碼和如何獲得

程序控制代碼不同於程序核心物件的控制代碼 程序核心物件控制代碼:代表整個程序的 程序控制代碼:exe或者dll裝入某個程序的地址空間,有唯一的例項控制代碼,也可以叫做模組控制代碼 程序控制代碼的本質是程序模組在程序地址空間中的首地址! 一:GetModuleFileName

Linux和Windows下檢視環境變數方法對比(轉)

一、檢視所有環境變數的名稱和值:   Linux下:export   Windows下:set   二、根據名稱查該環境變數的值:   Linux下:echo $環境變數名   如:echo $ORACLE_HOME   Windows下:set環境變數名   如:set

windows核心程式設計-條件變數

       當想讓寫入者執行緒和都去這執行緒以獨佔的方式或共享的方式訪問一個資源的時候,可以使用SRWLock。在這些情況下,如果 都去這沒有資料可以讀取,那麼它應該將鎖釋放並等待,直到寫入者執行緒產生了新的資料為止。如果用來接收寫入者執行緒的資料結 構已滿,那麼寫入者同

管道的使用---參見Windows核心程式設計

   管道也是一種重要的程序間通訊方式,最近看了Windows核心程式設計裡面關於管道的理論及例子,覺得挺有意思,自己模擬著寫了一個,其中有些還是不太明白 尤其是服務端中的WaitForSingleObjectEx函式的返回值---WAIT-IO-COMPLETION,歡

Linux學習筆記_shell程式設計環境變數配置檔案

shell程式設計之環境變數配置檔案 https://www.imooc.com/learn/361 簡介:本課程是《Tony老師聊shell》系列課程的第三篇,為你帶來常用的Linux環境變數配置檔案的使用。對環境變數配置檔案的功能進行了詳解, 然後又介紹了其他環境變數配置檔案,包括登

Windows核心程式設計之執行緒

執行緒組成兩部分: 1. 一個執行緒的核心物件,作業系統用它管理執行緒。 2. 一個執行緒棧,用於維護執行緒執行時所需的所有函式引數和區域性變數。 何時建立執行緒?舉例: 作業系統的Windows Indexing Services,磁碟碎片整理程式等,都是使用多執行緒進行效能優化的

windows核心程式設計之程序

什麼是程序? 程序是一個正在執行程式的例項。由兩部分組成:一個核心物件,用於管理程序以及一個地址空間,包含所有可執行檔案或DLL模組的程式碼和資料,此外還包含動態記憶體分配。 在分析程序之前,先看下windows程式是如何建立的? Windows應用程式分為CUI和GUI程式,即控

如何在Windows上設定Android環境變數/路徑

    在Windows中安裝Android SDK環境工具包後,必須將ANDROID_HOME環境變數設定為指向Android SDK安裝目錄。我們只需設定Android環境變數,但要實現這一點,您需要擁有Android安裝路徑。在上一章中,我們在以下路徑中進行了安裝,

Windows中的Java環境變數

    作業系統使用環境變數來儲存Windows或使用者啟動的程序使用的設定(預設值,資源位置)。 有兩種型別的環境變數: 使用者變數:特定於特定Windows使用者帳戶 系統變數:適用於機器的所有使用者 大多數情況下,這些變數通常在安裝系統或其他

基於Visual C++之Windows核心程式設計程式碼分析(1)實現裝置管理器列舉裝置

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Windows 10 設定 Java 環境變數

首先你需要在我的電腦中開啟,找到環境變數屬性。 找到環境變數屬性 找到環境變數屬性後單擊將會看到下面的設定介面。 在這個介面中設定高階系統設定。 環境變數 在彈出的介面中選擇設定環境變數。 系統變數 你需要在彈出的介面中選擇系統變數。 如果你的系統變數中已經有 JAVA_HOME 的話

Windows 安裝mysql 配置環境變數

1 需要的材料      1_mysql-essential-5.1.40-win32.msi 2.雙擊,接下來就是安裝過程     2.2 選擇自定義安裝路徑 2.3填寫自己要安裝到的路徑 2.4 點選安裝

Python在Windows中開啟虛擬環境設定方法

在PyCharm中, 可以通過選擇直譯器選擇特定的虛擬環境。同時可以在Terminal中進入命令中進行操作。 系統環境: Windows 10 專業版 Python 3.6.5 本案例電腦只安裝了python3, 沒有安裝python2 設

Windows、Linux的環境變數

        什麼是環境變數?環境變數一般是指在作業系統中用來指定作業系統執行環境的一些引數,比如臨時資料夾位置和系統資料夾位置等。 這點有點類似於DOS時期的預設路徑,當你執行某些程式時除了在當前資料夾中尋找外,還會到設定的預設路徑中去查詢。簡單地說這裡 的“P

Linux新增PYTHONPATH方法以及3種修改環境變數方法

在用Linux(OS:Centos 7.2)時看到有一行程式碼是: export PYTHONPATH=$PYTHONPATH:/home/usrname/models:/home/usrname/models/one 意思是將models以及其目錄下的o

Windows10 配置JAVA環境變數方法

步驟一:Windows10  此電腦  右鍵屬性 步驟二:選擇高階系統設定 步驟三:選擇環境變數 步驟四:選擇系統變數(因為要求全域性都能夠使用JAVA命令,所以要改變的是系統變數)    步驟五:點選新建,新建一個叫“JAVA_HOME”的系統變

Windows核心程式設計-筆記

1.每個程序都有自己專有的地址空間,當程序中的各執行緒執行時,他們只能訪問屬於該程序的記憶體,執行緒看不到且無法訪問其他程序的記憶體。地址空間只是一個記憶體地址區間,需要把物理儲存器分配或對映到相應的地址空間,才能夠正常讀寫資料。 2.程序地址空間的劃分及使用 空指標賦值

我的Windows核心程式設計——完成埠+套接字 圖解

========================宣告============================ 本文原創,轉載請註明作者和出處,並保證文章的完整性(包括本宣告)。 本文不定期修改完善,為保證內容正確,建議移步原文處閱讀。 ==================