Beispiel #1
0
            /// <summary>
            /// DwmAttributeを文字列として作成
            /// </summary>
            /// <returns></returns>
            private string GetDwmAttributes()
            {
                string str = "" + this.Text;

                DwmApi.DWMWINDOWATTRIBUTE[] booleans = new DwmApi.DWMWINDOWATTRIBUTE[] {
                    DwmApi.DWMWINDOWATTRIBUTE.DWMWA_NCRENDERING_ENABLED,
                    //DwmApi.DWMWINDOWATTRIBUTE.DWMWA_TRANSITIONS_FORCEDISABLED,
                    //DwmApi.DWMWINDOWATTRIBUTE.DWMWA_ALLOW_NCPAINT,
                    //DwmApi.DWMWINDOWATTRIBUTE.DWMWA_NONCLIENT_RTL_LAYOUT,
                    //DwmApi.DWMWINDOWATTRIBUTE.DWMWA_FORCE_ICONIC_REPRESENTATION,
                    //DwmApi.DWMWINDOWATTRIBUTE.DWMWA_HAS_ICONIC_BITMAP,
                    //DwmApi.DWMWINDOWATTRIBUTE.DWMWA_DISALLOW_PEEK,
                    //DwmApi.DWMWINDOWATTRIBUTE.DWMWA_EXCLUDED_FROM_PEEK
                };

                bool val;

                DwmApi.DWMWINDOWATTRIBUTE dwAttr;

                dwAttr = DwmApi.DWMWINDOWATTRIBUTE.DWMWA_NCRENDERING_ENABLED;
                //DwmApi.DwmGetWindowAttribute(this.Handle, dwAttr out val, Marshal.SizeOf(typeof(bool)));
                //str += Enum.GetName(typeof(DwmApi.DWMWINDOWATTRIBUTE), dwAttr) + " :Get " + val + Environment.NewLine;

                //DwmApi.DWMNCRENDERINGPOLICY policy;
                //dwAttr = DwmApi.DWMWINDOWATTRIBUTE.DWMWA_NCRENDERING_POLICY;
                //DwmApi.DwmGetWindowAttribute(this.Handle, dwAttr, out policy, Marshal.SizeOf(typeof(int)));
                //str += Enum.GetName(typeof(DwmApi.DWMWINDOWATTRIBUTE), dwAttr) + " :Get " + val + Environment.NewLine;


                //foreach (var dwAttr in booleans)
                //{
                //    bool val;
                //    int length = Marshal.SizeOf(typeof(bool));
                //    uint result = 0;

                //    DwmApi.DwmGetWindowAttribute(this.Handle, dwAttr, out val, length);
                //    if (result == 0)
                //    {
                //        str += Enum.GetName(typeof(DwmApi.DWMWINDOWATTRIBUTE), dwAttr) + " :Get " + val + "/ Len. " + length + Environment.NewLine;
                //    } else
                //    {
                //        str += Enum.GetName(typeof(DwmApi.DWMWINDOWATTRIBUTE), dwAttr) + " :Err " + result + Environment.NewLine;
                //    }
                //}

                return(str);
            }
 public static extern int DwmGetWindowAttribute(IntPtr hwnd, DwmApi.DWMWINDOWATTRIBUTE dwAttribute, out RECT pvAttribute, int cbAttribute);