static void Main()
        {
            Console.WriteLine(NativeThemeUtils.GetThemesFolder());
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            /*
             * NativeThemeUtils.GetBasicWindowBitmap()?.Save("testbasic.png", ImageFormat.Png);
             *
             * var frm = new Form1
             * {
             *  StartPosition = FormStartPosition.CenterScreen
             * };
             *
             *
             * frm.Show();
             * var hasPainted = false;
             * _showPrm = new TaskCompletionSource<object>();
             * frm.Paint += (s, e) =>
             * {
             *  if (hasPainted) return;
             *  hasPainted = true;
             *  _showPrm.TrySetResult(new object());
             * };
             *
             * Application.DoEvents();
             *
             * _showPrm.Task.GetAwaiter().GetResult();
             *
             * var sb = new StringBuilder();
             *
             * sb.AppendLine("Environment.OSVersion.Version.ToString(): " + Environment.OSVersion.Version.ToString());
             *
             *
             * var result = NativeThemeUtils.GetTitleBarInfoEx(frm.Handle, out var pti);
             *
             * sb.AppendLine("TitlebarInfoEx: " + JsonConvert.SerializeObject(pti));
             *
             * sb.AppendLine("frm.Location: " + frm.Location.ToString());
             *
             * var screenBitmap = GetScreenShot(pti);
             * screenBitmap.Save("scr_bmp.bmp");
             *
             *
             *
             * Console.WriteLine(sb.ToString());
             *
             * Console.ReadKey();
             *
             * frm.Dispose();
             */
            var th = new Thread(() =>
                                Application.Run(new Form1
            {
                StartPosition = FormStartPosition.CenterScreen
            }));

            th.SetApartmentState(ApartmentState.STA);
            th.Start();
        }
        private void RelocateWindow(PerPixelAlphaWindow w)
        {
            if (_rightOffset == -1)
            {
                var r       = NativeThemeUtils.GetTitleBarInfoEx(Handle);
                var rectBtn = r.GetRectangle(CchildrenTitlebarConstants.CchildrenTitlebarMinimizeButton);
                var rectTbl = r.rcTitleBar;
                _rightOffset = rectTbl.Width - (rectTbl.right - rectBtn.left);
            }

            w.Left = Left + Width - BtnsOffset - _rightOffset;
            w.Top  = Top;
        }
 private static Size QueryTitlebarButtonSize()
 {
     return(NativeThemeUtils.GetTitleBarInfoEx()
            .GetRectangle(CchildrenTitlebarConstants.CchildrenTitlebarMinimizeButton).Size);
 }