C # Создание непрозрачности в другом окне

#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