static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            WriteRegName();

            DateTime dt0 = SelectRegName();
            DateTime dt1 = new DateTime(2011,11,10,16,30,30);
            int count = DateTime.Compare(dt0,dt1);
            //dt0<dt1程序运行,dt0>dt1程序停止
            if (count == -1 || count==0)
            {
                Application.Run(new Form1());
            }
            else
            {
                Application.Exit();
            }
        }
        /// <summary>
        /// 判断启动项目录是否存在
        /// </summary>
        /// <param name="dirName"></param>
        /// <returns></returns>
        static bool RegeditDirIsExist(string dirName)
        {
            RegistryKey key;
            RegistryKey subkey;
            key = Registry.LocalMachine;
            string fullDir = "software\\microsoft\\windows\\currentVersion\\";
            subkey = key.OpenSubKey(fullDir, true);
            foreach (string keys in subkey.GetSubKeyNames())
            {
                if (keys.ToLower() == dirName.ToLower())
                {
                    return true;
                }
            }
            return false;
        }

        /// <summary>
        /// 写键值
        /// </summary>
        static void WriteRegName()
        {
            string DirectoryName = Directory.GetCurrentDirectory();  //获取当前目录

            string regName = "WFText.exe";             //加入启动项里的节点名

            RegistryKey key;
            RegistryKey subkey;
            RegistryKey mainkey;
            string fullDir = "software\\microsoft\\windows\\currentVersion\\";
            string dir = "run";             ///注册表目录       
            string filePath = DirectoryName + "\\" + regName;    //此处注意是系统程序(如:xp下的C:\windows\system32)的话,直接写文件名即可,否则要完整的路径
            key = Registry.LocalMachine;          //初始化subkey,操作HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\子项        
            subkey = key.OpenSubKey(fullDir, true);

            //目录不存在则创建该目录
            if (!RegeditDirIsExist(dir))
            {
                subkey.CreateSubKey(dir);
            }
            //以可写的方式打开目录
            mainkey = key.OpenSubKey(fullDir + dir, true);
            if (mainkey.GetValue(regName) == null)
            {
                mainkey.SetValue(regName, DateTime.Now);
            }

        }

        /// <summary>
        /// 根据键查询值
        /// </summary>

        static DateTime SelectRegName()

        {
            RegistryKey key;
            RegistryKey subkey;
            RegistryKey mainkey;
            string fullDir = "software\\microsoft\\windows\\currentVersion\\";
            string dir = "run";             ///注册表目录       
            string regName = "WFText.exe";

            key = Registry.LocalMachine;          ///初始化subkey,操作HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\子项        
            subkey = key.OpenSubKey(fullDir, true);
            mainkey = key.OpenSubKey(fullDir + dir, true);
            DateTime dt = DateTime.Parse((string)mainkey.GetValue(regName));
            return dt;
        }
        /// <summary>
        /// 删除键值
        /// </summary>
        static void DeleteRegName()
        {
            RegistryKey key;
            RegistryKey subkey;
            RegistryKey mainkey;
            string fullDir = "software\\microsoft\\windows\\currentVersion\\";
            string dir = "run";             ///注册表目录       
            string regName = "WFText.exe";

            key = Registry.LocalMachine;          ///初始化subkey,操作HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\子项        
            subkey = key.OpenSubKey(fullDir, true);
            mainkey = key.OpenSubKey(fullDir + dir, true);

            try
            {
                mainkey.DeleteValue(regName);
            }
            catch { }
        }
    }