[英]How can I prevent the Charm bar from showing up in my Java application?
我有一個在全屏模式下運行的Java swing程序。 它實際上是一個信息亭程序,因為我希望它在運行時將其他所有內容都鎖定。 這是在Windows 8.1平板電腦上運行的,因此平板電腦當然是觸摸屏,因此,如果您進行“邊緣滑動”(從右側拖動手指),則會彈出超級按鈕,您可以從此處進入“開始”屏幕。 。 有什么辦法可以防止這種情況在Java中發生? (或者是否有一些不涉及Java的第三方解決方案可以協同工作以達到相同的結果?)
通過在窗口上設置System.EdgeGesture.DisableTouchWhenFullScreen屬性,可以在應用程序處於活動和全屏狀態時禁用邊緣手勢。
我不知道Java是否提供直接的方法來設置此設置(可能不是),但是您應該能夠從JNI進行設置。
這是DisableTouchWhenFullScreen文檔中的C ++代碼段:
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;
}
我最終要做的是基於Super User的答案編寫一個批處理腳本,該腳本殺死explorer.exe
,然后在應用程序退出后重新生成它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.