惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
S
SegmentFault 最新的问题
V
Visual Studio Blog
人人都是产品经理
人人都是产品经理
阮一峰的网络日志
阮一峰的网络日志
腾讯CDC
Stack Overflow Blog
Stack Overflow Blog
博客园 - 【当耐特】
Recent Announcements
Recent Announcements
I
InfoQ
U
Unit 42
博客园_首页
GbyAI
GbyAI
Hugging Face - Blog
Hugging Face - Blog
罗磊的独立博客
博客园 - 叶小钗
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
D
DataBreaches.Net
aimingoo的专栏
aimingoo的专栏
月光博客
月光博客
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 聂微东
T
Tailwind CSS Blog
量子位

博客园 - 海天一鸥

Windows批处理中的等待技巧 The Ice::Current Object ICE代理的固有方法 C# Tips 2则 Configuring log4net with VS2010 and .Net 4.0 IoC Container Benchmark - Unity, Windsor, StructureMap and Spring.NET Functional .NET 4.0 – Tuples and Zip binary search of an integer array JAVA 上加密算法的实现用例 Exploring The Major Interfaces in Rx 带状疱疹覆灭记 ADO vs ADO.NET vs OLE DB vs ODBC [数据提供程序之间的差别] 如何在 Windows 7 中使用多线程加快文件复制? 关于VC++ 字符集 C++ reserve 与 resize的区别 ICE bidirectional connections 关键点 你最后会划掉谁的名字…… Poco::DateTimeFormatter Tips POCO日志组件Tips
获取SYSTEM账户的环境变量
海天一鸥 · 2011-06-07 · via 博客园 - 海天一鸥

As you can see in Windows Control Panel 'System' applet there are two groups of environment variables: USER and SYSTEM. Here presents function for retrieve SYSTEM variable value.

   1:  # -*- coding: Windows-1251 -*-
   2:  '''
   3:  getenv_system.py
   4:   
   5:  Get SYSTEM environment value, as if running under Service or SYSTEM account
   6:   
   7:  Author: Denis Barmenkov <denis.barmenkov@gmail.com>
   8:   
   9:  Copyright: this code is free, but if you want to use it, 
  10:             please keep this multiline comment along with function source. 
  11:             Thank you.
  12:   
  13:  2006-01-28 15:30
  14:  '''
  15:   
  16:  import os, win32api, win32con
  17:   
  18:  def getenv_system(varname, default=''):
  19:      v = default
  20:      try:
  21:          rkey = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE, 'SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment')
  22:          try:
  23:              v = str(win32api.RegQueryValueEx(rkey, varname)[0])
  24:              v = win32api.ExpandEnvironmentStrings(v)
  25:          except:
  26:              pass
  27:      finally:
  28:          win32api.RegCloseKey(rkey)
  29:      return v
  30:   
  31:  print 'SYSTEM.TEMP => %s' % getenv_system('TEMP')
  32:  print 'USER.TEMP   => %s' % os.getenv('TEMP')