2012-08-06 92 views
4

我需要創建一個應用程序,它將在Windows 8上全屏運行,並且用戶不應該能夠輕鬆退出。如何以編程方式禁用Windows 8 Charms欄?

由於應用程序將電腦或只觸覺輸入平板電腦上運行,我要創建無邊框和最上面的WPF應用程序,如果一個鍵盤連接這隻能被關閉。

的問題是,在左邊的應用程序切換欄和魅力欄上仍然可以沒有鍵盤打開的權利,將允許用戶退出應用程序。這可以禁止從代碼?我似乎無法找到辦法。

最簡單的解決辦法是在其他操作系統上運行,但機器將運行Windows 8和沒有多少我能做到這一點。

+0

您可能會成功使應用程序具有密切抵禦能力,但是如果該進程被終止或崩潰會怎麼樣?有很多方法可以終止應用程序,並且只能控制其中的一部分。想到更明顯的方式是CTRL + ALT + CANC - >任務管理器 - >終止進程 – Alex 2012-08-06 09:00:00

+0

在我的情況下,用戶將無法訪問鍵盤。我有一個「hacky」替代品的列表,但我想知道是否可以使用更合適的替代品,即簡單地禁用這些條。比如,全屏遊戲如何在W8上運行?如果鼠標碰巧進入屏幕的各個角落,那麼這些酒吧可能會很煩人...... – madd0 2012-08-06 09:07:30

+0

@Deanna對於「主流」應用程序可能是正確的,但是當你有一個需要表現的有限發佈應用程序時以特定的方式,你想在Windows上運行?有時間切換操作系統? – madd0 2012-08-06 12:06:08

回答

1

我已經挖出了一個.TXT一些筆記,前一段時間我發現某處在網絡上,它可能是有幫助的(最壞的情況下,它並不適用於Windows 8和不工作。不幸的是我米不能舉一個它的源代碼,我真的不記得它是從哪裏來的):

A「kiosk模式」已經從XP存在。通常它旨在鎖定IE以顯示一些交互式網頁,而不讓用戶關閉它:它被稱爲強制用戶配置文件。

要對其進行設置:

  1. 建立帳戶只是你想要的方式。設置組策略,設置啓動程序 用戶必須是標準用戶,而不是管理員。但是,如果一個未經授權的人即使計算機被「凍結」也可以獲得管理權限,我認爲你的問題更嚴重了。
  2. 以管理員身份登錄和計算機屬性>高級>用戶配置文件設置>(選擇配置文件)>(複製到任何地方)>設置爲「允許使用」給大家
  3. 轉到該文件夾​​的屬性>安全>(改變它使每個人都可以讀取和修改,但不能寫入,請確保您應用到裏面的東西)
  4. 重命名NTUSER.DAT到NTUSER.MAN
  5. 打開計算機管理 - >本地用戶和組>用戶>(創建新用戶)>(打開新創建的用戶)>配置文件>(在配置文件路徑中,將其設置爲該文件夾)
  6. 禁用剛剛複製的用戶(因爲您不想要pe ople登錄到那裏)

當你完成並登錄新帳戶,你會發現它的表現幾乎就像你一直在尋找的kiosk模式。要撤消更改,註銷並重新登錄。

-2

HKEY_CURRENT_USER \軟件\微軟\的Windows \ CurrentVersion \ ImmersiveShell \ EdgeUI \ DisableTLcorner DWORD = 1級

HKEY_CURRENT_USER \軟件\微軟\的Windows \ CurrentVersion \ ImmersiveShell \ EdgeUI \ DisableCharmsHint DWORD = 1

+0

這不起作用。額外的解釋會很棒。 – steviejay 2014-09-03 20:19:59

+1

這將禁用鼠標的熱角,但不是魅力酒吧 – 2015-06-23 09:00:48

0

我有完全相同的問題,並形成我所知道的,除非您使用的是自制的rootkit禁用魅力酒吧有沒有辦法做到這一點。這是我在考慮所有其他選項之後所經營的方式。

爲了節省您一些時間,這裏是不起作用的。

  • 經典殼牌。
  • 開始菜單套件。
  • EdgeUI的註冊表編輯。
  • 通過右鍵單擊開始菜單禁用 - 儘管您應該這樣做以禁用其他功能。

以下是一些可能有效的選項,雖然並不美觀。考慮以下幾點:

  • 側載應用
  • 重新創建一個Windows Store應用
  • 的Rootkit

否則,有沒有什麼可以做。我很想聽聽你如何解決這個問題。

退房了類似的問題,我問:Kiosks in Windows 8 Running Regular Software (Non-Windows Store App)

0

explorer.exe當你的應用程序啓動和魅力酒吧將無法正常工作。

0

我知道回答這個問題可能有點晚,但希望這可以幫助其他人,在你的註冊表中有一個regkey,允許你選擇'Shell'的Windows啓動,默認情況下它被設置爲資源管理器.exe如果你改變它,它將啓動到你想要的任何程序,而不需要通過愚蠢的Windows 8開始菜單。

REGKEY是

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\shell 

希望幫助大家。

0

簡單的解決方案,並不完美,但工程,每當魅力欄被激活,您的應用程序被停用,所以立即重新激活它,並且魅力欄消失。在您的App.xaml.cs中添加此項

DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer(); 
    public App() 
    { 
     this.Deactivated += App_Deactivated; 
     this.Activated += App_Activated; 
     timer.Tick += delegate 
     { 
      Application.Current.MainWindow.Activate(); 
     }; 
     timer.Interval = new TimeSpan(0, 0, 0, 0, 10); 
    } 

    void App_Activated(object sender, EventArgs e) 
    { 
     timer.Stop(); 
    } 

    void App_Deactivated(object sender, EventArgs e) 
    { 
     timer.Start(); 
    } 
相關問題