#c# #opacity
#c# #непрозрачность
Вопрос:
после долгих поисков я узнал, как сделать непрозрачность в других окнах. Вот код, если кому-то нужно (вам нужен DllImport):
IntPtr foundWindow = new IntPtr(0);
Process[] processes = Process.GetProcessesByName("FL");
foreach (Process p in processes)
{
foundWindow = p.MainWindowHandle;
}
SetWindowLong(foundWindow, GWL_EXSTYLE, GetWindowLong(foundWindow, GWL_EXSTYLE) ^ WS_EX_LAYERED);
SetLayeredWindowAttributes(foundWindow, 0, 128, LWA_ALPHA);
Кроме того, у меня возник вопрос, возможно ли сделать часть непрозрачности окна? Может быть, если бы я запустил процесс, а не нашел его? Спасибо;).
Комментарии:
1. Я не уверен, что вы пытаетесь спросить. Возможно ли создать окно, в котором только его части прозрачны / непрозрачны? ДА. В Windows forms есть свойство, называемое TransparencyKey, которое в основном действует как цвет, который всегда будет отображаться как прозрачный (поэтому, если для него установлено значение green, все зеленое в окне будет прозрачным). WPF предоставляет более надежные и привлекательные варианты.
2. Мой вопрос был о Windows вне проекта, но спасибо за информацию
3. Я почти закончил это: D посмотрите код: pastebin.com/qgyZTehB