private void RegisterClass() { IntPtr moduleHandle = UnsafeNativeMethods.GetModuleHandle(null); UnsafeNativeMethods.WNDCLASSEX wNDCLASSEX = new UnsafeNativeMethods.WNDCLASSEX() { cbSize = (uint)Marshal.SizeOf(typeof(UnsafeNativeMethods.WNDCLASSEX)), cbClsExtra = 0, cbWndExtra = 0, hbrBackground = IntPtr.Zero, hCursor = IntPtr.Zero, hIcon = IntPtr.Zero, hIconSm = IntPtr.Zero, hInstance = moduleHandle, lpfnWndProc = this.splashWindowProcedureCallback, lpszClassName = SplashScreen.windowClassName, lpszMenuName = null, style = 0 }; if (UnsafeNativeMethods.RegisterClassExW(ref wNDCLASSEX) != 0) { SplashScreen.isClassRegistered = true; } }
internal static extern short RegisterClassExW([In] ref UnsafeNativeMethods.WNDCLASSEX lpwcx);