zoukankan      html  css  js  c++  java
  • 操作INI文件以及开机自动运行

        public class VolumnCfg
        {
            public static string iniFile;
            [DllImport("kernel32")]
            private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
            [DllImport("kernel32")]
            private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
            ///   <summary>  
            ///   构造方法  
            ///   </summary>  
            ///   <param   name="iniFile">文件路径</param>  
            public VolumnCfg()
            {
                iniFile = System.Windows.Forms.Application.StartupPath + "\\VolumnCfg.ini";
                if (!File.Exists(iniFile))
                    initCfgFile(iniFile);
            }

            public static void initCfgFile(string FilePath)
            {
                IniWriteValue("VolumnCfg", "AutoRun", System.Boolean.FalseString);
                IniWriteValue("VolumnCfg", "Opacity", "0.8");
                IniWriteValue("VolumnCfg", "DelaySec", "3");
            }

            ///   <summary>  
            ///   写入INI文件  
            ///   </summary>  
            ///   <param   name="Section">项目名称(如   [DataTP]   )</param>  
            ///   <param   name="Key">键</param>  
            ///   <param   name="Value">值</param>  
            public static void IniWriteValue(string Section, string Key, string Value)
            {
                WritePrivateProfileString(Section, Key, Value, iniFile);
            }

            ///   <summary>  
            ///   读出INI文件  
            ///   </summary>  
            ///   <param   name="Section">项目名称(如   [DataTP]   )</param>  
            ///   <param   name="Key">键</param>  
            public static string IniReadValue(string Section, string Key)
            {
                StringBuilder temp = new StringBuilder(500);
                int i = GetPrivateProfileString(Section, Key, "", temp, 500, iniFile);
                return temp.ToString();
            }

                 
            /// <summary>
            /// 开机启动项
            /// </summary>
            /// <param name="Started">是否启动</param>
            /// <param name="name">启动值的名称</param>
            /// <param name="path">启动程序的路径</param>
            public static void SetAutoRun(bool Started, string name, string path)
            {
                RegistryKey HKLM = Registry.LocalMachine;
                RegistryKey Run = HKLM.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
                if (Started == true)
                {
                    try
                    {
                        Run.SetValue(name, path);
                        HKLM.Close();
                    }
                    catch (Exception)
                    {
                        //MessageBox.Show(Err.Message.ToString(), "MUS", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }

            }
  • 相关阅读:
    用C++读写EXCEL文件的几种方式比较
    20个值得收藏的网页设计开放课件
    char* 应用, 去除字符串内多余空格, 用算法而非库函数
    东拉西扯:王建硕主义
    Lisp 的本质(The Nature of Lisp)
    web前端:html
    [原译]理解并实现原型模式实现ICloneable接口.理解深浅拷贝
    [原译]理解并实现装饰器模式
    3分钟理解Lambda表达式
    [原译]实现IEnumerable接口&理解yield关键字
  • 原文地址:https://www.cnblogs.com/zhahost/p/1232534.html
Copyright © 2011-2022 走看看