/// <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);