Stworzyłem aplikację Flex Desktop z Adobe Air. Muszę chronić aplikację przed przechwytywaniem. Zmieniając powinowactwo wyświetlania okna do okna aplikacji, można zabezpieczyć aplikację przed przechwyceniem. Jak korzystać z interfejsu API win w wersji flex? Czy istnieje inny sposób zabezpieczenia okna przed przechwyceniem?wywołanie Win32 API w trybie flex w celu ustawienia powinowactwa wyświetlania okien
Odpowiedz
Najpierw upewnij się, że główne okno nie ma stylu Windows WS_EX_LAYERED
. Ten styl powoduje, że SetWindowDisplayAffinity
kończy się niepowodzeniem z kodem 8 (ERROR_NOT_ENOUGH_MEMORY
), przynajmniej na moim komputerze (Seven Pro 64 bity). W swoim -app.xml file
ustaw wartość false
dla węzła <transparent>
pod <initialWindow>
.
Po drugie, musisz wybrać sposób wstawiania zwykłej biblioteki DLL C w procesie aplikacji, ponieważ interfejs API zawiedzie z błędem 5 (ERROR_ACCESS_DENIED
), jeśli spróbujesz zmienić powinowactwo okna, które nie występuje w procesie wywołującym.
Jedną z możliwych metod wtrysku jest użycie interfejsu API SetWindowsHookEx
. Google da Ci wiele trafień dotyczących tego. Możesz poprosić o kilka szczegółów. Oczywiście musisz współpracować z innym procesem, tutaj (i niektórymi praktykami Win32 API).
Innym możliwym sposobem jest kodowanie 'ACTIONSCRIPT® Extensions for ADOBE® AIR®' (PDF).
Później wydaje preferowane:
- Nie współpraca z procesu zewnętrznego potrzebne.
- Adobe AIR robi ładowanie DLL dla Ciebie.
- Kod C/C++ o wiele prostszy.
użyłem pierwszy technikę, ponieważ jestem bardziej biegły w surowych Win32 API około DLL, niż ja z powietrzem i Action Script ...
pomyślnie przetestowany że pierwsza technika z bardzo prostego " Hello World "Aplikacja AIR Desktop i uzyskaj ładny obraz" Wszystkie czarne "po ekranie drukowania.
- 1. Ustawianie powinowactwa procesu w trybie jądra
- 2. Interfejs API win32 win32 api
- 3. Czy wywołanie funkcji DispatchMessage w programach win32 jest konieczne?
- 4. Zmienianie sposobu wyświetlania okien przy użyciu interfejsu API Win?
- 5. znajdowanie okien w trybie "obok siebie"
- 6. Wywołanie publicznego interfejsu API w celu uzyskania statusu PNR
- 7. Przenośność pthreads-win32 przez różne kompilatory okien
- 8. Najlepsze ustawienia PHP.ini w celu poprawy bezpieczeństwa
- 9. Jaki jest najprostszy międzyplatformowy sposób wyświetlania okien dialogowych w Pythonie?
- 10. Jak wyłączyć ostrzeżenie (szczególnie wiążące ostrzeżenia) w konsoli w trybie flex (zaćmienie z wtyczką flex)
- 11. Jak zaplanować wywołanie metody w celu C
- 12. WinRT jako zamiennik Win32 API
- 13. Wiele okien informacyjnych w systemie Android Maps API 2
- 14. Przycisk pełnej szerokości z flex-boxem w trybie natywnego reagowania
- 15. ustawianie powinowactwa wątku w module jądra Linuksa
- 16. Tworzenie tabeli przy użyciu Win32 API
- 17. Symulacja wyświetlania: wbudowany w Natywny reaguje
- 18. Wiele okien w PyQt4?
- 19. Wymagane jest wywołanie okien dialogowych iframe za pomocą klucza sesji
- 20. sposób wyświetlania nagłówków w trybie nawigacji z TabNavigation
- 21. Formatowanie tabeli SSRS w celu wyświetlania danych obok siebie
- 22. Biblioteka dla okien dialogowych i widżetów w aplikacji konsoli systemu Win32 (w języku C)
- 23. Sortowanie kolekcji ArrayCollection w Flex
- 24. YouTube iframe API - Android w trybie pełnoekranowym
- 25. Aktualizowanie porządku Z w wielu systemach Windows przy użyciu interfejsu Win32 API
- 26. Rejestrowanie produkcji w programie Flex
- 27. Wywołanie meteorów w celu zwrócenia odpowiedzi na pasek rozłożenia
- 28. Asynchroniczne wywołanie Ajax w SCORM API
- 29. Wywołanie interfejsu API Dysk Google w celu wstawienia uprawnień udziału publicznego na Fusiontables powoduje błąd wewnętrzny
- 30. Flex 3.5.0; Aktualizacja listy wyświetlania ComboBox po zmianie dostawcy danych
Czy myślisz, jeśli moja odpowiedź mówi, że musisz zbudować bibliotekę DLL jako "Air Extension" (dla Air 3)? – manuell
Jeśli wywołasz setwindowdisplayaffinity z innego procesu, to zwraca ACCESS DENIED. Wtedy to nie będzie miało sensu. – Vishnu
Dll będzie rozszerzeniem AIR, uruchomionym w procesie aplikacji. Brak "odmowy dostępu" tutaj. – manuell