怎样获得系统环境变量
来源:互联网 发布:淘宝商城 天猫睡衣 编辑:程序博客网 时间:2024/04/27 16:32
在PB里有这样一段代码:
Private FUNCTION ulong GetEnvironmentVariableA(string lpName, ref string lpBuffer, ulong nSize) LIBRARY "kernel32.dll"
string ls_temp
string ls_v = "WSNADDR"
ulong ll = 100, li_r
ls_temp = space(100)
li_r = GetEnvironmentVariableA(ls_v,ls_temp,ll)
parent.title = parent.title + ' ' + trim(ls_temp)
№ next: 取得系统环境属性的方法:
不論在 Windows、UNIX 的作業系統下都有環境變數的設定,有沒有辦法取得這些環境變數的內容,甚至可以重新設定環境變數的內容。
環境變數不僅是作業系統下使用的,有的時候也可以利用環境變數的內容保護應用系統,當應用系統被不知名的人士帶離正當的使用環境時,很少有人會注意到環境變數的資料的,無形之中在企業內使用的應用系統就可以降低外流的機會。
A. 取得環境變數 (Windows 95 (含)以上, Windows NT 3.1 (含)以上) : 適用於 PB 5.x, 6.x, 7.x
1. 宣告一個 External Function:
FUNCTION uLong GetEnvironmentVariableA(String lpName, REF String lpBuffer, uLong nSize) library "Kernel32.dll" Alias for "GetEnvironmentVariable"
2. 呼叫方式:
ulong lul_rtn
string ls_name = "Windir" // 想取得的環境變數
string ls_buffer
ls_buffer = Space ( 260 ) // 預先取得記憶體空間, 設大一點就好了
lul_rtn = GetEnvironmentVariable ( ls_name, ls_buffer, 260 )
IF lul_rtn = 0 THEN
... // 取得的環境變數的內容為空字串 ...
END IF
B. 取得環境變數 (Windows, UNIX) : 適用於 PB 6.x, 7.x
1. 其實在 PB 6.x 已經提供跨平台的取得環境變數的方法, 利用 ContextKeyword Object.
Integer li_return, li_count, li_element
string ls_keyword = "Temp"
string ls_values [ ]
ContextKeyword lcx_key
li_return = this.GetContextService ("Keyword", lcx_key)
li_element = lcx_key.GetContextKeywords (ls_keyword, ls_values)
IF li_element = 0 THEN
... // 無法取得環境變數的內容
END IF
C. 設定環境變數 (Windows 95 (含)以上, Windows NT 3.1 (含)以上) : 適用於PB5.x, 6.x, 7.x: 當設定之後只能在同一個應用系統中取得重新設定後的資料, 該環境變數新的內容無法跨不同的應用系統存去.
1. 宣告一個 External Function:
Function Boolean SetEnvironmentVariableA(String lpName, String lpvalue) Library "kernel32.dll" Alias For "SetEnvironmentVariable"
2. 呼叫方式:
boolean lb_rtn
string ls_name = "Temp" // 想取得的環境變數
string ls_value = "C:/TempDir" // 重新設定環境變數的內容資料
lb_rtn = SetEnvironmentVariable ( ls_name, ls_value )
IF NOT lb_rtnTHEN
... // 設定失敗
END IF
- 怎样获得系统环境变量
- 怎样获得系统环境变量
- Java获得系统环境变量
- Java获得系统环境变量
- Cocoa 获得系统环境变量
- Java获得系统环境变量
- 获得系统环境变量(c语言)
- Java是要怎样获得系统时间
- Android中如何获得一些系统设置和环境变量?
- Perl 获得环境变量
- 怎样设置环境变量
- Win7怎样添加环境变量
- 怎样获得高精度计时器
- 怎样获得积分
- 怎样获得积分啊。
- 怎样获得积分
- 怎样获得积分啊
- 怎样获得下载积分
- 做为一个菜鸟,打算从今天开始系统的学习freebsd
- 夜深人静做游戏---之四
- 最近好吗
- SQL谎言
- 如何向老外求博士论文
- 怎样获得系统环境变量
- 【J2ME】 Debug 笔记(一)
- 中国是否具备IT服务领域的竞争力?
- JBuilder 2006 破解
- 05/10/25(夜)
- linux 日志
- 数据库基础(一)
- 整理电脑就像打扫寝室,累~
- 也谈多态--由override和new说起