我有一个全屏AS3游戏maby与Adobe AIR运行在
Windows 7.
在这个游戏中,可能不是很容易退出(考虑到信息亭模式,只能按Esc键退出并输入密码).
在这个游戏中,可能不是很容易退出(考虑到信息亭模式,只能按Esc键退出并输入密码).
现在我想要这个游戏在Windows 8中运行.游戏正像预期一样工作,但是这些动作是这些边缘手势/热门角色(左上,右下,底部)和快捷键.
我已阅读文章,但没有帮助我.人们谈论注册编辑,但是我不会让用户需要重新启动他/她的计算机.
我想打开我的游戏,关闭手势/热门角,当游戏关闭手势/热门角落需要再次可用.
我已经看到一些应用程序做同样的事情我想要完成.
我找到了this,所以我能够检测到手势.但是如何忽略它们是行动?
我也读了ASUS Smart Gestures,但这是用于触摸板.
而且我试过Classic Shell,但是我需要禁用边缘手势/热门角,没有这样的程序,只是在飞行中.
我也发现this,但我不知道如何实现这一点.
HRESULT SetTouchdisableProperty(HWND hwnd,BOOL fdisabletouch)
{
IPropertyStore* pPropStore;
HRESULT hrReturnValue = SHGetPropertyStoreForWindow(hwnd,IID_PPV_ARGS(&pPropStore));
if (SUCCEEDED(hrReturnValue))
{
PROPVARIANT var;
var.vt = VT_BOOL;
var.boolVal = fdisabletouch ? VARIANT_TRUE : VARIANT_FALSE;
hrReturnValue = pPropStore->SetValue(PKEY_EdgeGesture_disabletouchWhenFullscreen,var);
pPropStore->Release();
}
return hrReturnValue;
}
有人知道我能做到吗还是指向正确的方向?
我已经尝试过一些C#和C,但我是一个熟练的C#/ C开发人员.此外,游戏是在AS3中制作的,所以在C#/ C中很难实现.
我在Windows 7上使用Lenovo aio (All in one).
我试图做同样的事情.下面的C在每个运行的应用程序/窗口中禁用Win8手势.正如JonorR所提到的,下一步将只是在你想要定位的HWND上调用它.如果目标应用程序关闭,则重新打开,手势将返回.
#include "stdafx.h"
#include <windows.h>
#include <iostream>
#include <propsys.h>
#include <propkey.h>
using namespace std;
HWND windowHandle;
HRESULT SetTouchdisableProperty(HWND hwnd,var);
pPropStore->Release();
}
return hrReturnValue;
}
BOOL CALLBACK MyEnumProc(HWND hWnd,LParaM lParam)
{
TCHAR title[500];
ZeroMemory(title,sizeof(title));
GetwindowText(hWnd,title,sizeof(title)/sizeof(title[0]));
SetTouchdisableProperty(hWnd,true);
_tprintf(_T("Value is %s\n"),title);
return TRUE;
}
int _tmain(int argc,_TCHAR* argv[])
{
EnumWindows(MyEnumProc,0);
return 0;
}