我在StackOverflow上发现了这个问题.基本上,用户想要在标题栏上绘制自定义按钮.
我尝试了代码,并且只有在Aero被禁用时才意识到它在vista/7中有效.我的问题是,在启用aero的同时,有没有办法在标题栏上绘制自定义按钮 ?
此外,有没有办法从当前主题中读取信息,所以我可以设置我的按钮样式以匹配现有的按钮.
更新
这是我的计算机的屏幕截图,展示了上述概念.安装DisplayFusion后,我得到了额外的标题栏按钮.

我知道DisplayFusion是一个.NET程序,因为它在.NET Reflector中打开.缺点是程序被混淆了.不喜欢我想反编译程序或任何东西; 我只想在标题栏上添加一个按钮来执行其他操作(例如,最小化到系统托盘).
下面是截图,证明该程序是一个.NET应用程序.

在安装任何应用程序期间.通常要求用户在开始安装之前关闭所有窗口.如果没有,安装将停在中间并要求用户关闭所有打开的窗口.我被要求在XXX应用程序中添加代码.当应用程序运行并且用户打开任何其他窗口时(例如:浏览,浏览器,单词等),应用程序应抛出一个窗口,说明您已打开窗口列表.我请你告诉我如何从C#开始.
我有一个C#应用程序,它使用SendMessage pinvoke方法向应用程序外的各个窗口发送"关闭窗口"消息(WM_CLOSE/16).这很有效,除非有问题的窗口是Windows资源管理器窗口.我没有异常,但窗口没有关闭.
这是签名:
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
internal static extern IntPtr SendMessage(HandleRef hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
Run Code Online (Sandbox Code Playgroud)
我需要将不同的消息发送到Windows资源管理器窗口吗?或者另一种方法来实现这一目标?