コード例 #1
0
        /// <summary>
        /// Fügt einen Ordner hinzu.
        /// </summary>
        /// <param name="path"></param>
        private void ordnerHinzufügen(string path)
        {
            IntPtr        Handle = new IntPtr();
            WindowManager wm     = new WindowManager();

            Handle = wm.OpenFolderGetHandle(path);

            if (MessageBox.Show("Fenster positioniert?", "OpenTools V2.0", MessageBoxButtons.OK, MessageBoxIcon.Question) == DialogResult.OK)
            {
                ProcessListDemo.Windows win = new ProcessListDemo.Windows();

                //Neuen Ordner erstellen und Pfad mitgeben
                Ordner o = new Ordner(path);

                //o.WindowTitel = wm.DireWindowName;

                //Window settings hinzufügen;


                foreach (ProcessListDemo.Window w in win.lstWindows)
                {
                    if (w.winHandle == Handle)
                    {
                        //Fenstereigenschaften werden an Ordner übergeben
                        o.WindowSettings = w;
                    }
                }
                Ordner.Add(o);
                listOrdner.Items.Add(o.name);
            }
        }
コード例 #2
0
        /// <summary>
        /// Fügt eine Datei zur Toolgruppe hinzu.
        /// </summary>
        /// <param name="path"></param>
        private void dateiHinzufügen(string path)
        {
            processDateien                     = new Process();
            processDateien.StartInfo           = new ProcessStartInfo(path);
            processDateien.EnableRaisingEvents = true;

            try
            {
                processDateien.Start();

                if (MessageBox.Show("Fenster positioniert?", "OpenTools V2.0", MessageBoxButtons.OK, MessageBoxIcon.Question) == DialogResult.OK)
                {
                    ProcessListDemo.Windows win = new ProcessListDemo.Windows();

                    //Neue Datei erstellen und Pfad mitgeben
                    Datei d = new Datei(path);


                    //Window settings hinzufügen;
                    foreach (ProcessListDemo.Window w in win.lstWindows)
                    {
                        try
                        {
                            if (w.winHandle == processDateien.MainWindowHandle)
                            {
                                //Fenstereigenschaften werden an Datei übergeben
                                d.WindowSettings = w;
                            }
                        }
                        catch
                        {
                            //TODO: Vielleicht gibts ja ne Lösung für die Fensterpositionen xD
                        }
                    }

                    Dateien.Add(d);
                    listDateien.Items.Add(d.name);
                }
            }
            catch
            {
                MessageBox.Show(System.IO.Path.GetFileNameWithoutExtension(path) +
                                System.IO.Path.GetExtension(path) +
                                " konnte nicht geöffnet werden! Überprüfe den Pfad oder das Programm mit dem die Datei geöffnet wird!",
                                "Datei nicht kompatibel!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #3
0
        /// <summary>
        /// Öffnet einen Ordner und gibt den Window-Handle zurück
        /// </summary>
        /// <param name="path"></param>
        /// <returns></returns>
        public IntPtr OpenFolderGetHandle(string path)
        {
            path = path.Replace("/", "\\");
            if (!path.EndsWith("\\"))
            {
                path += "\\";
            }
            Process mp = new Process();

            mp.StartInfo.FileName = path;

            mp.Start();

            Thread.Sleep(150);

            ProcessStartInfo psi = new ProcessStartInfo();

            psi.FileName = path;

            foreach (Process p in Process.GetProcesses())
            {
                if (p == mp)
                {
                    DireWindowName = p.MainWindowTitle;
                }
            }
            IntPtr handle = getFolderHandle(path);

            ProcessListDemo.Windows windows = new ProcessListDemo.Windows();

            //foreach (ProcessListDemo.Window w in windows.lstWindows)
            //{

            //    if (w.winHandle == handle)
            //    {

            //        DireWindowName = w.winTitle;

            //    }

            //    }


            return(handle);
        }