Feedback

C# - Fenster wirklich in den Vordergrund des Desktops bringen

Veröffentlicht von am 04.11.2008
(1 Bewertungen)
Diese Funktion bringt ein Fenster (Übergabeparameter = System.Windows.Forms.Form) in den Vordergrund des Desktops, auch wenn sich andere Programme zur Zeit im Vordergrund befinden.

using System.Runtime.InteropServices;


Achso .. Lauffähig ab Framework 2
GFU-Schulungen  [Anzeige]

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

Angular mit ASP.NET Core für .NET-Entwickler

.NET ist Ihnen vertraut, als Entwickler verfügen Sie über einschlägige Kenntnisse. In diesem Kurs lernen Sie nun, Angular in .NET-Umgebungen einzusetzen. Sie verstehen das Konzept von Angular und integrieren das clientseitige JS-Framework sicher in.NET-Anwendungen.

[DllImport("User32.dll")]
static extern bool SetForegroundWindow(IntPtr hWnd);

[DllImport("User32.dll")]
public static extern int AttachThreadInput(IntPtr idAttach, IntPtr idAttachTo, bool fAttach);

[DllImport("User32.dll")]
public static extern IntPtr GetForegroundWindow();

[DllImport("User32.dll")]
public static extern IntPtr GetWindowThreadProcessId(IntPtr hwnd, IntPtr lpdwProcessId);

public static void SetForegroundWindowEx(Form window)
{
	IntPtr hndl = window.Handle;
	IntPtr threadID1 = GetWindowThreadProcessId(GetForegroundWindow(), IntPtr.Zero);
	IntPtr threadID2 = GetWindowThreadProcessId(hndl, IntPtr.Zero);
	window.TopMost = true;

	if (threadID1 == threadID2)
	{
		SetForegroundWindow(hndl);
	}
	else
	{
		AttachThreadInput(threadID2, threadID1, true);
		SetForegroundWindow(hndl);;
		AttachThreadInput(threadID2, threadID1, false);
	}
}

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!