Прозрачность чужого окна - C#
Формулировка задачи:
Если не ошибаюсь на API есть возможность изменить прозрачность окна стороннего приложения. Как это можно реализовать на C# ?
Заранее благодарен.
Решение задачи: «Прозрачность чужого окна»
textual
Листинг программы
using System; using System.Runtime.InteropServices; class Program { [DllImport("user32.dll")] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("user32.dll")] static extern bool SetLayeredWindowAttributes(IntPtr hwnd, uint crKey, byte bAlpha, uint dwFlags); [DllImport("user32.dll")] public static extern long SetWindowLong(IntPtr hWnd, int nIndex, long dwNewLong); [DllImport("user32.dll")] public static extern long GetWindowLong(IntPtr hWnd, int nIndex); static void Main(string[] args) { const uint LWA_ALPHA = 0x00000002; const uint LWA_COLORKEY = 0x00000001; const int GWL_EXSTYLE = -20; const int GWL_HINSTANCE = -6; const int GWL_ID = -12; const int GWL_STYLE = -16; const int GWL_USERDATA = -21; const int GWL_WNDPROC = -4; const long WS_EX_LAYERED = 524288; IntPtr hWnd = FindWindow(null, "API"); //Ищем окно с заголовком API long dwStyle = GetWindowLong(hWnd, GWL_STYLE); SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) | WS_EX_LAYERED); SetLayeredWindowAttributes(hWnd, 0, 128, LWA_ALPHA); Console.ReadKey(true); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д