Feedback

C# - Programm am Desktop andocken

Veröffentlicht von am 17.11.2007
(4 Bewertungen)
Mit dieser kleinen Klasse, kann ein einzelnes Fenster auf dem Desktop fest geklebt werden.

Das heißt das das Panel erstens hinter allen anderen Fester auf dem Desktop liegt,
sowie das der schalter 'DESKTOP ANZEIGEN' dieses nicht minimiert
und das dieses Fenster nicht im Taskbar angezeigt wird
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace Tools{
    class Docking {
        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        public static extern IntPtr
        FindWindow([MarshalAs(UnmanagedType.LPTStr)] string lpClassName,
        [MarshalAs(UnmanagedType.LPTStr)] string lpWindowName);

        [DllImport("user32.dll")]
        public static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);

        /// <summary>
        /// Einzelnes Form auf den Desktop Festkleben
        /// </summary>
        /// <param name="formToDock">Formular, dass an den Desktop gedockt werden soll</param>
        public void StartDocking(Form formToDock) {
            IntPtr hwndParent = FindWindow("progman", null);
            SetParent(formToDock.Handle, hwndParent);
        }
        /// <summary>
        /// Einzelnes Formular vom Desktop wieder lösen und normal anzeigen lassen
        /// </summary>
        /// <param name="formToUndock">Formular das wieder normal angezeigt werden soll</param>
        public void StopDocking(Form formToUndock) {
            IntPtr hwndParent = FindWindow("screenclass", null);
            SetParent(formToUndock.Handle, hwndParent);
        }
    }
}

Abgelegt unter Desktop, Docking, .

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!