2012-06-27 12 views
8

Mam aplikację, która działa w systemie Windows 7 przy użyciu Microsoft Layered Window http://msdn.microsoft.com/en-us/library/ms997507.aspx. Ta aplikacja ma 30% nieprzezroczystości, jest zawsze na wierzchu i jest przezroczysta dla zdarzeń (tzn. Przekazuje wszystkie zdarzenia do okien znajdujących się pod nią). Możesz myśleć o tym jako o "ekranie", który przeglądasz na swoim pulpicie. Obecnie jest używany jako wszechobecna warstwa opinii dla naszych użytkowników.Windows 8 Warstwowe aplikacje Windows Over Metro

Próbowaliśmy uruchomić tę samą aplikację w systemie Windows 8 i zauważyliśmy, że działa ona zgodnie z oczekiwaniami w trybie pulpitu, ale nic nie pokrywa menu startowego i innych aplikacji Metro.

Czy ktoś wie, czy istnieje odpowiednik zawsze w trybie górnego okna, który działa w aplikacjach metra i menu Start w systemie Windows 8?

+1

Niemożliwe, Metro Aplikacje działają na własnym chronionym pulpicie. –

+0

Metro jest niesamowicie zdenerwowane w porównaniu do tradycyjnego komputera; interakcja między nimi jest prawie niemożliwa, ani nie jest pożądana. – Luke

+0

Dzięki wszystkim. Kolejny punkt danych, okna na ekranie klawiatury wydaje się być on-obecne (nawet nad menu start i innych aplikacji metra). Wprawdzie może mieć specjalne uprawnienia w oknach ... –

Odpowiedz

14

Tak, jest to możliwe. Proszę spojrzeć na tej stronie:

http://blogs.microsoft.co.il/blogs/pavely/archive/2012/05/16/windows-8-topmost-vs-topmost.aspx

Konkretnie drugi słup w sekcji Komentarze:

Najwyższy okno jest również wpływ ustawień dostępu. Jeśli chcesz mieć okno na górze Metro, musisz zadeklarować dostępność. Oto najważniejsze punkty:

  1. Wniosek musi żądać uiAccess (app.manifest)

  2. Wniosek musi dochodzić „najwyższego” pozycjonowanie okna (zarówno w Win32/SetWindowPos lub WinForms/WPF za Topmost nieruchomości, programowo lub w inny sposób)

  3. Bez dokonywania zmiany ustawień zasad grupy, musi być zainstalowany w pewnym zaufanej lokalizacji [C:\Windows, C:\Program Files, C:\Program Files (x86)].

    • Jeśli chcesz, aby móc go uruchomić z dowolnej lokalizacji, należy wyłączyć ustawienie zabezpieczeń: „Kontrola konta użytkownika: podnieść jedynie aplikacje poziomem UIAccess, które są zainstalowane w bezpiecznych miejscach”.

    • To jest taki sam, jak ustawienie HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\ValidateAdminCodeSignatures do 0

  4. Wspomniana aplikacja nie może zostać uruchomiony w debugera

  5. Jeśli jest to.NET aplikacja:

    • W manifeście muszą być osadzone w etapie post-build

    • Wniosek musi być „opóźniona podpisanie” (co oznacza, że ​​nie może być trwała od wbudowany debugger, chociaż można buduj i dołączaj - tak robi Microsoft).

  6. Wniosek musi być podpisany za pomocą zaufanego certyfikatu.

  7. Wspomniany zaufany certyfikat musi być zainstalowany do zaufanych głównych Certificate Authority (to ważne! Nie może po prostu zainstalowany)

-3

Jestem prawie pewien, że nie możesz mieć aplikacji, która nakłada się na Metro. Nowe środowisko Metro służy do uruchamiania pojedynczych aplikacji pełnoekranowych (lub dwóch, ale tylko wtedy, gdy są one przyciągane z boku). Co więcej, pozwolenie, by coś działało jako pośrednik, jest nieco niebezpieczne, ponieważ może przechwytywać wszelkiego rodzaju poufne dane użytkownika.

Mimo to, jeśli możesz ustawić właściwość "zawsze na wierzchu" okna, może pozostać w menu Start i różnych aplikacjach Metro. Wiem, że działa z Menedżerem zadań, ale nigdy nie próbowałem z dowolną aplikacją. Nie wiem jednak, czy dobrze by to działało w przypadku aplikacji Metro, ponieważ ich zdarzenia różnią się od starych aplikacji WinForm. Musisz sprawdzić, czy twój "ekran" pozwala przejść zdarzenia dotykowe.

Powiązane problemy