• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# EnvironmentVariableTarget类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中EnvironmentVariableTarget的典型用法代码示例。如果您正苦于以下问题:C# EnvironmentVariableTarget类的具体用法?C# EnvironmentVariableTarget怎么用?C# EnvironmentVariableTarget使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



EnvironmentVariableTarget类属于命名空间,在下文中一共展示了EnvironmentVariableTarget类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: GetEnvironmentVariableCore

        private static string GetEnvironmentVariableCore(string variable, EnvironmentVariableTarget target)
        {
            if (target == EnvironmentVariableTarget.Process)
            {
                return GetEnvironmentVariableCore(variable);
            }
            else
            {
                RegistryKey baseKey;
                string keyName;

                if (target == EnvironmentVariableTarget.Machine)
                {
                    baseKey = Registry.LocalMachine;
                    keyName = @"System\CurrentControlSet\Control\Session Manager\Environment";
                }
                else
                {
                    Debug.Assert(target == EnvironmentVariableTarget.User);
                    baseKey = Registry.CurrentUser;
                    keyName = "Environment";
                }

                using (RegistryKey environmentKey = baseKey.OpenSubKey(keyName, writable: false))
                {
                    return environmentKey?.GetValue(variable) as string;
                }
            }
        }
开发者ID:geoffkizer,项目名称:corefx,代码行数:29,代码来源:Environment.Win32.cs


示例2: GetEnvironmentVariables

        /// <summary>
        /// Retrieves all environment variable names and their values
        /// from the Windows operating system registry key for the
        /// current user or local machine.
        /// </summary>
        /// <param name="target">
        /// One of the <see cref="System.EnvironmentVariableTarget" /> values.
        /// </param>
        /// <returns>
        /// A dictionary that contains all environment variables
        /// names and their values from the source specified by the
        /// target parameter; otherwise, an empty dictionary if no
        /// environment variables are found.
        /// </returns>
        public static IDictionary<string, string> GetEnvironmentVariables(EnvironmentVariableTarget target)
        {
            Dictionary<string, string> variables = new Dictionary<string, string>();

            string keyName;
            RegistryKey registryKey;

            switch (target)
            {
                case EnvironmentVariableTarget.Machine:
                    keyName = @"SYSTEM\CurrentControlSet\Control\Session Manager\Environment";
                    registryKey = Registry.LocalMachine.OpenSubKey(keyName);
                    break;
                case EnvironmentVariableTarget.User:
                    keyName = @"Environment";
                    registryKey = Registry.CurrentUser.OpenSubKey(keyName);
                    break;
                default:
                    throw new ArgumentException("Invalid environment variable target", "target");
            }

            foreach (string name in registryKey.GetValueNames())
            {
                variables.Add(name, (string)registryKey.GetValue(name, null, RegistryValueOptions.DoNotExpandEnvironmentNames));
            }

            return variables;
        }
开发者ID:visemet,项目名称:path-manager,代码行数:42,代码来源:Proxy.cs


示例3: SetEnvironmentVariable

        /// <summary>
        /// Creates, modifies, or deletes an environment variable stored
        /// in the Windows operating system registry key reserved for the
        /// current user or local machine.
        /// </summary>
        /// <param name="variable">
        /// The name of an environment variable.
        /// </param>
        /// <param name="value">A value to assign to variable.</param>
        /// <param name="target">
        /// One of the <see cref="System.EnvironmentVariableTarget" /> values.
        /// </param>
        public static void SetEnvironmentVariable(string variable, string value, EnvironmentVariableTarget target)
        {
            string keyName;
            RegistryKey registryKey;

            switch (target)
            {
                case EnvironmentVariableTarget.Machine:
                    keyName = @"SYSTEM\CurrentControlSet\Control\Session Manager\Environment";
                    registryKey = Registry.LocalMachine.OpenSubKey(keyName, true);
                    break;
                case EnvironmentVariableTarget.User:
                    keyName = @"Environment";
                    registryKey = Registry.CurrentUser.OpenSubKey(keyName, true);
                    break;
                default:
                    throw new ArgumentException("Invalid environment variable target", "target");
            }

            if (value == null)
            {
                registryKey.DeleteValue(variable, false);
            }
            else
            {
                registryKey.SetValue(variable, value, RegistryValueKind.ExpandString);
            }

            Notification.EnvironmentChanged();
        }
开发者ID:visemet,项目名称:path-manager,代码行数:42,代码来源:Proxy.cs


示例4: GetExisting

        private string GetExisting(EnvironmentVariableTarget target, string variableName)
        {
            var existingVariable = _variables[target][variableName];
            if (!IsValid(existingVariable)) UpdateVariable(existingVariable);

            return existingVariable.Content;
        }
开发者ID:BADF00D,项目名称:Tanpohp,代码行数:7,代码来源:EnvironmentVariableProvider.cs


示例5: AllVariables

 public static void AllVariables(EnvironmentVariableTarget target)
 {
     foreach (DictionaryEntry var in Environment.GetEnvironmentVariables(target))
     {
         string key = (string)var.Key;
         string value = (string)var.Value;
         ConsoleHelper.WriteLine(key + ": " + value);
     }
 }
开发者ID:cwillison94,项目名称:sar-tool,代码行数:9,代码来源:StringHelper.cs


示例6: Get

 public string Get(string variableName, EnvironmentVariableTarget target)
 {
     lock (LockKey)
     {
         return _variables[target].ContainsKey(variableName)
                    ? GetExisting(target, variableName)
                    : GetNew(target, variableName);
     }
 }
开发者ID:BADF00D,项目名称:Tanpohp,代码行数:9,代码来源:EnvironmentVariableProvider.cs


示例7: LoadEnvironmentVariables

        /// <summary>
        /// Loads the environment variables.
        /// </summary>
        /// <param name="dg">The Data Grid View.</param>
        /// <param name="target">The target.</param>
        private void LoadEnvironmentVariables(
            DataGrid dg, EnvironmentVariableTarget target)
        {
            dg.IsReadOnly = true;

            IDictionary environmentVariables
                = this.variableManger.GetEnvVariables(target);

            dg.ItemsSource = environmentVariables;
        }
开发者ID:blastmann,项目名称:EnvManWPF,代码行数:15,代码来源:MainWindow.xaml.cs


示例8: GetEnvironmentVariable

        public static string GetEnvironmentVariable(string variable, EnvironmentVariableTarget target)
        {
            if (variable == null)
            {
                throw new ArgumentNullException(nameof(variable));
            }

            ValidateTarget(target);

            return GetEnvironmentVariableCore(variable, target);
        }
开发者ID:chcosta,项目名称:corefx,代码行数:11,代码来源:Environment.Uap.cs


示例9: Exists

        public bool Exists(string variableName, EnvironmentVariableTarget target)
        {
            lock (LockKey)
            {
                if (_variables[target].ContainsKey(variableName) && _variables[target][variableName].Content != null) return true;

                var variable = System.Environment.GetEnvironmentVariable(variableName, target);

                return variable != null;
            }
        }
开发者ID:BADF00D,项目名称:Tanpohp,代码行数:11,代码来源:EnvironmentVariableProvider.cs


示例10: Run

        /// <summary>
        /// This program allows you to view and modify the PATH environment.
        /// </summary>
        /// <param name="args"></param>
        private void Run(string[] args)
        {
            Console.OutputEncoding = Encoding.GetEncoding(Encoding.Default.CodePage);
            Args = new InputArgs("pathed", string.Format(resource.IDS_TITLE, AppVersion.Get()) + "\r\n" + resource.IDS_COPYRIGHT);

            Args.Add(InputArgType.Flag, "machine", false, Presence.Optional, resource.IDS_CMD_machine_doc);
            Args.Add(InputArgType.Flag, "user", false, Presence.Optional, resource.IDS_CMD_user_doc);
            Args.Add(InputArgType.ExistingDirectory, "add", "", Presence.Optional, resource.IDS_CMD_add_doc);
            Args.Add(InputArgType.ExistingDirectory, "append", "", Presence.Optional, resource.IDS_CMD_append_doc);
            Args.Add(InputArgType.StringList, "remove", null, Presence.Optional, resource.IDS_CMD_remove_doc);
            Args.Add(InputArgType.Flag, "slim", false, Presence.Optional, resource.IDS_CMD_slim_doc);
            Args.Add(InputArgType.Parameter, "env", "PATH", Presence.Optional, resource.IDS_CMD_env_doc);

            if (Args.Process(args))
            {
                EnvironmentVariableName = Args.GetString("env");

                if (Args.GetFlag("slim"))
                    SlimPath();

                if (Args.GetFlag("machine"))
                    EnvironmentVariableTarget = EnvironmentVariableTarget.Machine;

                else if (Args.GetFlag("user"))
                    EnvironmentVariableTarget = EnvironmentVariableTarget.User;

                try
                {
                    List<string> removeItems = Args.GetStringList("remove");
                    if (removeItems != null)
                        Remove(removeItems);

                    string add = Args.GetString("add");
                    if (!string.IsNullOrEmpty(add))
                        AddHead(SanitizePath(add));

                    string append = Args.GetString("append");
                    if (!string.IsNullOrEmpty(append))
                        AddTail(SanitizePath(append));
                }
                catch (SecurityException ex)
                {
                    if (EnvironmentVariableTarget == EnvironmentVariableTarget.Machine)
                    {
                        Console.WriteLine(ex.Message);
                        Console.WriteLine(resource.IDS_ERR_access_denied);
                        return;
                    }
                    else throw;
                }

                ListPath();
            }
        }
开发者ID:nathansgreen,项目名称:pserv4,代码行数:58,代码来源:pathed.cs


示例11: LoadEnvironment

        public void LoadEnvironment(EnvironmentVariableTarget target)
        {
            VarList.Items.Clear();

            environment = new EnvModel(target);

            foreach (string variable in environment.Variables.Keys)
            {
                VarList.Items.Add(variable);
            }

            SelectVariable(DefaultVariable);
        }
开发者ID:gemerson,项目名称:EEdit,代码行数:13,代码来源:EnvEditor.cs


示例12: LoadEnvironment

        public void LoadEnvironment(EnvironmentVariableTarget target)
        {
            VarList.Items.Clear();

            environment = new EnvModel(target);

            foreach (string variable in environment.Variables.Keys)
            {
                VarList.Items.Add(variable);
                environment.Variables[variable].CollectionChanged += new NotifyCollectionChangedEventHandler(Entries_CollectionChanged);
            }

            SelectVariable(DefaultVariable);
        }
开发者ID:Mirozell,项目名称:EEdit,代码行数:14,代码来源:EnvEditor.cs


示例13: GetVariable

        public static string GetVariable(string variable, EnvironmentVariableTarget target = EnvironmentVariableTarget.User)
        {
            string value;
            try
            {
                value = Environment.GetEnvironmentVariable(variable, target);
            }
            catch
            {
                value = null;
            }

            return value;
        }
开发者ID:justinlhudson,项目名称:Impromptu,代码行数:14,代码来源:EnvironmentVariable.cs


示例14: EditModel

 /// <summary>
 /// Initializes a new instance of the <see cref="EditModel" /> class.
 /// </summary>
 /// <param name="name">The name.</param>
 /// <param name="value">The value.</param>
 /// <param name="target">The target.</param>
 /// <param name="canEditName">if set to <c> true </c> [can edit name].</param>
 /// <param name="canEditValue">if set to <c> true </c> [can edit value].</param>
 /// <param name="canEditTarget">if set to <c> true </c> [can edit target].</param>
 public EditModel(
     string name = EmptyString,
     string value = EmptyString,
     EnvironmentVariableTarget target = EnvironmentVariableTarget.Process,
     bool canEditName = true,
     bool canEditValue = true,
     bool canEditTarget = true)
 {
     this.CanEditName = canEditName;
     this.CanEditValue = canEditValue;
     this.CanEditTarget = canEditTarget;
     this.Value = value;
     this.Name = name;
     this.Target = target;
 }
开发者ID:AntonioColino,项目名称:EnvVarCleaner,代码行数:24,代码来源:EditModel.cs


示例15: Parse

        public bool Parse(string[] args)
        {
            Target = EnvironmentVariableTarget.Machine;

            foreach (string arg in args)
            {
                if (arg.StartsWith("-"))
                {
                    switch (arg)
                    {
                        case "-p":
                            Target = EnvironmentVariableTarget.Process;
                            break;

                        case "-m":
                            Target = EnvironmentVariableTarget.Machine;
                            break;

                        case "-u":
                            Target = EnvironmentVariableTarget.User;
                            break;

                        default:
                            Console.WriteLine("Unknown option: {0}", arg);
                            return false;
                    }
                }
                else
                {
                    if (PathSegment == null)
                    {
                        PathSegment = arg;
                    }
                    else
                    {
                        Console.WriteLine("Unknown parameter: {0}", arg);
                        return false;
                    }
                }

            }

            if (PathSegment == null)
            {
                return false;
            }
            return true;
        }
开发者ID:JasonRowe,项目名称:AddPath,代码行数:48,代码来源:Options.cs


示例16: AddString

		/////////////////////////////////////////////////////////////////////////////

		private static void AddString( string varName, EnvironmentVariableTarget target, string strIn )
		{
			// ******
			string oldValue = Environment.GetEnvironmentVariable( varName, target );
			if( null == oldValue ) {
				oldValue = string.Empty;
			}
			
			// ******
			if( ItemInString(oldValue, strIn) ) {
				//
				// already there
				//
				return;
			}

			// ******
			string newValue = string.Format( "{0}{1}{2}", oldValue, oldValue.EndsWith(";") ? string.Empty : ";", strIn );
			Environment.SetEnvironmentVariable( varName, newValue, target );
		}
开发者ID:jmclain,项目名称:Nmp,代码行数:22,代码来源:NmpEnvironment.cs


示例17: ChangeForTargetEnvironment

        private static void ChangeForTargetEnvironment(Func<IEnumerable<string>, IEnumerable<string>> job, EnvironmentVariableTarget target)
        {
            string psModulePath = Environment.GetEnvironmentVariable(PSModulePathName, target) ?? string.Empty;
            IEnumerable<string> paths = psModulePath.Split(';');
            paths = job(paths);

            if (paths.Count() == 0)
            {
                Environment.SetEnvironmentVariable(PSModulePathName, null, target);
            }
            else if (paths.Count() == 1)
            {
                Environment.SetEnvironmentVariable(PSModulePathName, paths.First(), target);
            }
            else
            {
                psModulePath = string.Join(";", paths.Distinct());
                Environment.SetEnvironmentVariable(PSModulePathName, psModulePath, target);
            }
        }
开发者ID:kangyangthu,项目名称:azure-sdk-tools,代码行数:20,代码来源:PowerShellUtilities.cs


示例18: __file_env_vars_value

        void __file_env_vars_value(EnvironmentVariableTarget target, string varname)
        {
            lstEnvVarValues.Items.Clear();

            if(varname == null)
                return;

            string value = Environment.GetEnvironmentVariable(varname, target);

            if (value == null)
                return;

            string[] value_split = value.Split(new char[] { ';' });

            foreach (string val in value_split)
            {
                lstEnvVarValues.Items.Add(val);
            }
            return;
        }
开发者ID:robindegen,项目名称:windows_environment_editor,代码行数:20,代码来源:frmMain.cs


示例19: Add

        private static void Add(EnvironmentVariableTarget Target, string NewItem, bool Append)
        {
            if(NewItem == "")
            ShowUse("You must provide a path when using ADD", -1);

              string work = NewItem;
              DirectoryInfo di = null;

              try { di = new DirectoryInfo(NewItem); }
              catch (SystemException se) { ShowError(se, -1); }

              if (di.Exists)
              {
             if(_matchCase)
            {
              string s = GetCaseFromFileSystem(di.FullName);
              if(s != work)
              {
            Verbose("Corrected case: " + s);
            work = s;
              }
            }
              }
              else
              {
            if (!_keepOrphans)
            {
              Console.WriteLine("New path item does not exist, you must set KeepOphans to add it.");
              return;
            }
              }

              List<string> original = GetCurrentPath(Target);

              if (Append)
            original.Add(work);
              else
            original.Insert(0, work);

              UpdatePath(Target, original);
        }
开发者ID:JorgMU,项目名称:modifyPath,代码行数:41,代码来源:Program.cs


示例20: InputParameters

        public InputParameters(string[] args)
        {
            if (args.Length == 0)
            {
                _DisplayUsage = true;

                return;
            }

            for (int _Index = 0; _Index < args.Length; _Index++)
            {
                switch (args[_Index])
                {
                    case "-name":
                    case "/name":
                        this._VariableName = args[++_Index];
                        break;
                    case "-machine":
                    case "/machine":
                        this._VariableScope = EnvironmentVariableTarget.Machine;
                        break;
                    case "-help":
                    case "-?":
                    case "/help":
                    case "/?":
                        this._DisplayUsage = true;
                        break;
                    default:
                        throw new ArgumentException("Invalid parameter specified.", args[_Index]);
                }
            }

            if (!this.DisplayUsage && this.VariableName == String.Empty)
            {
                throw new ArgumentNullException("-name", "You must specify an Environment Variable Name!");
            }
        }
开发者ID:SqlQuantumLeap,项目名称:GetEnvironmentVariable,代码行数:37,代码来源:InputParameters.cs



注:本文中的EnvironmentVariableTarget类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Epi类代码示例发布时间:2022-05-24
下一篇:
C# Environment类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap