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


Anmelden zum Antworten