Neben der Koordination der Ausführung von Anwendungen, der Zuweisung von Speicher und der Verwaltung von Ressourcen ist das Multi-Betriebssystem Windows auch ein großes The Das Servicecenter ruft verschiedene Dienste dieses Servicecenters auf (jeder Dienst ist eine Funktion), die der Anwendung dabei helfen können, Fenster zu öffnen, Grafiken zu zeichnen, Peripheriegeräte zu verwenden usw., da die von diesen Funktionen bedienten Objekte Anwendungen (Anwendung) sind Sie wird Application Programming Interface oder kurz API-Funktion genannt. Die WIN32-API ist die Anwendungsprogrammierschnittstelle der Microsoft Windows 32-Bit-Plattform.
Funktion : Flashen des angegebenen Fensters. Der Aktivierungsstatus des Fensters wird dadurch nicht geändert.
Funktionsprototyp: BOOL WINAPI FlashWindowEx(
__in PFLASHWINFO pfwi
);
Parameter: pfwi ist ein Zeiger auf die FLASHWINFO-Struktur. .
Rückgabewert: Gibt den angegebenen Fensterstatus vor dem Aufruf der FlashWindowEx-Funktion zurück. Wenn der Fenstertitel vor dem Aufruf aktiv war, ist der Rückgabewert ungleich Null.
/// <summary> /// 闪烁窗口 /// </summary> /// <param name="pwfi">窗口闪烁信息结构</param> /// <returns></returns> [DllImport("user32.dll")] public static extern bool FlashWindowEx(ref FLASHWINFO pwfi);
/// <summary> /// 闪烁类型 /// </summary> public enum flashType : uint { FLASHW_STOP = 0, //停止闪烁 FALSHW_CAPTION = 1, //只闪烁标题 FLASHW_TRAY = 2, //只闪烁任务栏 FLASHW_ALL = 3, //标题和任务栏同时闪烁 FLASHW_PARAM1 = 4, FLASHW_PARAM2 = 12, FLASHW_TIMER = FLASHW_TRAY | FLASHW_PARAM1, //无条件闪烁任务栏直到发送停止标志或者窗口被激活,如果未激活,停止时高亮 FLASHW_TIMERNOFG = FLASHW_TRAY | FLASHW_PARAM2 //未激活时闪烁任务栏直到发送停止标志或者窗体被激活,停止后高亮 }
/// <summary> /// 包含系统应在指定时间内闪烁窗口次数和闪烁状态的信息 /// </summary> public struct FLASHWINFO { /// <summary> /// 结构大小 /// </summary> public uint cbSize; /// <summary> /// 要闪烁或停止的窗口句柄 /// </summary> public IntPtr hwnd; /// <summary> /// 闪烁的类型 /// </summary> public uint dwFlags; /// <summary> /// 闪烁窗口的次数 /// </summary> public uint uCount; /// <summary> /// 窗口闪烁的频度,毫秒为单位;若该值为0,则为默认图标的闪烁频度 /// </summary> public uint dwTimeout; }
/// <summary> /// 闪烁窗口 /// </summary> /// <param name="hWnd">窗口句柄</param> /// <param name="type">闪烁类型</param> /// <returns></returns> public static bool FlashWindowEx(IntPtr hWnd, flashType type) { FLASHWINFO fInfo = new FLASHWINFO(); fInfo.cbSize = Convert.ToUInt32(Marshal.SizeOf(fInfo)); fInfo.hwnd = hWnd;//要闪烁的窗口的句柄,该窗口可以是打开的或最小化的 fInfo.dwFlags = (uint)type;//闪烁的类型 fInfo.uCount = UInt32.MaxValue;//闪烁窗口的次数 fInfo.dwTimeout = 0; //窗口闪烁的频度,毫秒为单位;若该值为0,则为默认图标的闪烁频度 return FlashWindowEx(ref fInfo); }
Das obige ist der detaillierte Inhalt vonC# WindowsAPI-Anwendung FlashWindowEx – Detaillierte Erläuterung der Methode zur Realisierung des Fenster-Flashens. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!