Ich weiß zwar nicht warum, aber es funkt!!! WARUM?? :O
-
class Autostart { delegate void OpaMaster(); public static void Create(Form _this) { int Ticker = 500; int Timeout = 10000; int TimePast = 0; new Thread(delegate() { if(!_this.IsDisposed && _this.InvokeRequired) _this.Invoke(new OpaMaster(delegate() { string AutoFolder = Environment.GetFolderPath(Environment.SpecialFolder.Startup); if(!System.IO.File.Exists(AutoFolder + "\\Validator.lnk")) { Type typeShell = Type.GetTypeFromProgID("Shell.Application"); object objShell = Activator.CreateInstance(typeShell); typeShell.InvokeMember("MinimizeAll", System.Reflection.BindingFlags.InvokeMethod, null, objShell, null); _this.WindowState = FormWindowState.Minimized; _this.ShowInTaskbar = false; Process p = new Process(); p.StartInfo.FileName = AutoFolder; p.Start(); new MessageInfo("Bitte ziehen Sie die \"Validator.exe\" in den geöffneten Autostartordner!", 5000, false).ShowDialog(); while(true) if(System.IO.File.Exists(AutoFolder + "\\Validator.lnk")) { break; } else { Thread.Sleep(Ticker); TimePast += Ticker; if(TimePast >= Timeout) { _this.WindowState = FormWindowState.Normal; _this.ShowInTaskbar = true; break; } } _this.WindowState = FormWindowState.Normal; _this.ShowInTaskbar = true; } })); }).Start(); } }
Meine Frage: wie gelangt die exe in den autostart ordner? eigentlich wollte ich das manuell reinziehen lassen, weil das wegen des benutzerrechten nicht so ganz ging.
-
ah sry. hab mein fehler gefunden. falsche klasse verwendet