diff --git a/src/Color/Win32.cs b/src/Color/Win32.cs index 93da990..0b7d9b5 100644 --- a/src/Color/Win32.cs +++ b/src/Color/Win32.cs @@ -2,48 +2,47 @@ using System.Runtime.InteropServices; namespace Dot.Color; -public static class Win32 +public static partial class Win32 { public delegate nint LowLevelMouseProc(int nCode, nint wParam, nint lParam); private const string _GDI32_DLL = "gdi32.dll"; private const string _KERNEL32_DLL = "kernel32.dll"; private const string _USER32_DLL = "user32.dll"; + public const int SW_HIDE = 0; - public const int SW_HIDE = 0; + [LibraryImport(_USER32_DLL)] + internal static partial nint CallNextHookEx(nint hhk, int nCode, nint wParam, nint lParam); + + [LibraryImport(_KERNEL32_DLL)] + internal static partial nint GetConsoleWindow(); - [DllImport(_USER32_DLL)] - public static extern nint CallNextHookEx(nint hhk, int nCode, nint wParam, nint lParam); - - [DllImport(_KERNEL32_DLL)] - public static extern nint GetConsoleWindow(); + [LibraryImport(_USER32_DLL)] + internal static partial nint GetDesktopWindow(); - [DllImport(_USER32_DLL)] - public static extern nint GetDesktopWindow(); + [LibraryImport(_KERNEL32_DLL, StringMarshalling = StringMarshalling.Utf16)] + internal static partial nint GetModuleHandle(string lpModuleName); + [LibraryImport(_GDI32_DLL)] + internal static partial uint GetPixel(nint dc, int x, int y); - [DllImport(_KERNEL32_DLL, CharSet = CharSet.Unicode)] - public static extern nint GetModuleHandle(string lpModuleName); + [LibraryImport(_USER32_DLL)] + internal static partial nint GetWindowDC(nint hWnd); - [DllImport(_GDI32_DLL)] - public static extern uint GetPixel(nint dc, int x, int y); + [LibraryImport(_USER32_DLL)] + internal static partial int ReleaseDC(nint hWnd, nint dc); - [DllImport(_USER32_DLL)] - public static extern nint GetWindowDC(nint hWnd); + [LibraryImport(_USER32_DLL)] + internal static partial nint SetWindowsHookEx(int idHook, LowLevelMouseProc lpfn, nint hMod, uint dwThreadId); - [DllImport(_USER32_DLL)] - public static extern int ReleaseDC(nint hWnd, nint dc); - - [DllImport(_USER32_DLL)] - public static extern nint SetWindowsHookEx(int idHook, LowLevelMouseProc lpfn, nint hMod, uint dwThreadId); - - [DllImport(_USER32_DLL)] - public static extern bool ShowWindow(nint hWnd, int nCmdShow); - - [DllImport(_USER32_DLL)] + [LibraryImport(_USER32_DLL)] [return: MarshalAs(UnmanagedType.Bool)] - public static extern bool UnhookWindowsHookEx(nint hhk); + internal static partial bool ShowWindow(nint hWnd, int nCmdShow); + + [LibraryImport(_USER32_DLL)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static partial bool UnhookWindowsHookEx(nint hhk); } \ No newline at end of file diff --git a/src/Git/Main.cs b/src/Git/Main.cs index 9a7813f..5f4f1cf 100644 --- a/src/Git/Main.cs +++ b/src/Git/Main.cs @@ -6,43 +6,48 @@ namespace Dot.Git; public class Main : ToolBase