我正在Windows 8上工作,我想尝试在全屏桌面应用程序时禁用默认边缘手势行为。

我找到了这个page,它解释了如何在C ++中做到这一点。

我的应用程序是WPF / C#应用程序,并且找到了用于工作的Windows Code API PackSetWindowProperty方法。

问题

我不知道如何传递正确的参数,这是一个布尔值:


  PropertyKey键=新
  PropertyKey(“ 32CE38B2-2C9A-41B1-9BC5-B3784394AA44”,2);
  WindowProperties.SetWindowProperty(this,key,“ true”);
  
  PropertyKey键=新
  PropertyKey(“ 32CE38B2-2C9A-41B1-9BC5-B3784394AA44”,2);
  WindowProperties.SetWindowProperty(this,key,“ -1”);
  
  PropertyKey键=新
  PropertyKey(“ 32CE38B2-2C9A-41B1-9BC5-B3784394AA44”,2);
  WindowProperties.SetWindowProperty(this,key,“ VARIANT_TRUE”);


如您所见,该参数必须是一个字符串,但是没有一个起作用。

如果有人有想法,请先谢谢!

最佳答案

一个更简单的解决方案是使用Windows API Code Pack

代码设置System.AppUserModel.PreventPinning属性将很容易:

public static void PreventPinning(Window window)
{
    var preventPinningProperty = new PropertyKey(new Guid("9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3"), 9);
    WindowProperties.SetWindowProperty(window, preventPinningProperty, "1");
}

07-24 13:05