我正在使用C#,visual studio community 2013和Windows 8.1 Pro
我在c#(控制台)中做了一个测试程序,在一段时间(1分钟)之后创建了一个文件txt我也在用户登录时启动了exe,这个工作正常,除非我重启我的电脑。
当我重新启动我的电脑时,程序执行成功但是1分钟后更多不会创建文件txt。我可以在任务管理器中看到exe正在运行。
我认为当它以这种方式开始(登录)时计时器不起作用,但我不知道为什么。
我做错了什么?
注意:控制台始终处于隐藏状态。
感谢。
Code Main:
static void Main(string[] args)
{
RegisterInStartup(true);
System.Timers.Timer aTimer = new System.Timers.Timer();
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.Interval = 60000;
aTimer.Enabled = true;
// Hide
var handle = GetConsoleWindow();
ShowWindow(handle, SW_HIDE);
while(true);
}
RegisterInStartup:
private static void RegisterInStartup(bool isChecked)
{
RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (isChecked)
{
registryKey.SetValue("ApplicationName", "\"" + Application.ExecutablePath.ToString() + "\"");
}
else
{
registryKey.DeleteValue("ApplicationName");
}
registryKey.Close();
}
事件计时器:
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
//only for testing
StreamWriter objWriter;
objWriter = new StreamWriter(@"testing.txt");
objWriter.Write("now");
objWriter.Close();
}