Автозагрузка приложения без окон - C#
Формулировка задачи:
Всем привет.
Есть данный кусок кода:
Если просто запускаю этот код - то в файл пишется каждую секунду лог.
Если приложение добавлено в автозагрузку (в реестр), то программа после запуска windows ничего не пишет, т.е. даже не выполняются первые строчки кода, хотя в процессах она висит.
Суть - что нужно приложение без формы (в консольном приложении данный код работает правильно).
Как быть чтобы после запуска windows приложение работало корректно ?
Добавлено через 11 минут
Более того даже приложение на WinForms (при автозапуске) с этим кодом запускается, но не пишет лог и таймер не работает тоже. компилирую под .NET 2.0
Добавлено через 24 минуты
Следующий GUI-код также при запуске не пишет лога
Как быть если нужна запись именно в реестр?
class Program { static System.Timers.Timer timerSend; static int i = 0; private static StreamWriter log; [STAThread] static void Main() { log = new StreamWriter("log.txt", true); log.WriteLine("run 1"); log.Close(); timerSend = new System.Timers.Timer(1000); timerSend.Elapsed += new ElapsedEventHandler(timerSend_Elapsed); timerSend.Start(); log = new StreamWriter("log.txt", true); log.WriteLine("run 2"); log.Close(); while (true) { } } static void timerSend_Elapsed(object sender, ElapsedEventArgs e) { Console.WriteLine("hello - " + i); log = new StreamWriter("log.txt", true); log.WriteLine("hello - " + i); log.Close(); i++; } }
public Form1() { InitializeComponent(); MessageBox.Show("asdasdas"); log = new StreamWriter("log.txt", true); log.WriteLine("run 1"); log.Close(); timerSend = new System.Timers.Timer(1000); timerSend.Elapsed += new ElapsedEventHandler(timerSend_Elapsed); timerSend.Start(); log = new StreamWriter("log.txt", true); log.WriteLine("run 2"); log.Close(); }
Решение задачи: «Автозагрузка приложения без окон»
textual
Листинг программы
string LogFileName = Path.ChangeExtension(Assembly.GetAssembly(this.GetType()).Location, "log");
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д