1234567891011121314151617181920212223242526272829303132333435363738 |
- using System.Runtime.InteropServices;
- namespace InABox.WPF
- {
- public sealed class SafeNativeMethods
- {
- [Flags]
- public enum SetWindowPosFlags : uint
- {
- SWP_NOACTIVATE = 0x0010,
- SWP_NOMOVE = 0x0002,
- SWP_NOSIZE = 0x0001
- }
- public const int WS_EX_NOACTIVATE = 0x08000000;
- public const int ULW_ALPHA = 0x00000002;
- public const int AC_SRC_OVER = 0x00000000;
- public const int AC_SRC_ALPHA = 0x00000001;
- public static readonly IntPtr HWND_TOP = new(0);
- [DllImport("user32.dll", ExactSpelling = true, SetLastError = true)]
- public static extern bool UpdateLayeredWindow(IntPtr hwnd, IntPtr hdcDst, IntPtr pptDst, IntPtr psize, IntPtr hdcSrc, IntPtr pptSrc,
- uint crKey,
- [In] ref BLENDFUNCTION pblend, uint dwFlags);
- [DllImport("user32.dll", ExactSpelling = true, SetLastError = true)]
- [return: MarshalAs(UnmanagedType.Bool)]
- public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, SetWindowPosFlags uFlags);
- public struct BLENDFUNCTION
- {
- public byte BlendOp;
- public byte BlendFlags;
- public byte SourceConstantAlpha;
- public byte AlphaFormat;
- }
- }
- }
|