Tôi đã tạo một Ứng dụng Máy tính để bàn Flex với Adobe Air. Tôi cần bảo vệ ứng dụng không bị bắt. Bằng cách thay đổi mối quan hệ hiển thị cửa sổ của ứng dụng, ứng dụng có thể được bảo vệ khỏi bị bắt. Làm thế nào để sử dụng win API trong flex? Có cách nào khác để bảo vệ cửa sổ không bị bắt không?gọi Win32 API trong flex để đặt Window Display Affinity
Trả lời
Trước tiên, bạn phải đảm bảo rằng cửa sổ chính không có kiểu dáng WS_EX_LAYERED
Windows. Kiểu đó làm cho SetWindowDisplayAffinity
không thành công với mã 8 (ERROR_NOT_ENOUGH_MEMORY
), ít nhất là trên máy của tôi (Bảy Pro 64 bit). Trong số -app.xml file
, đặt giá trị thành false
cho nút <transparent>
theo <initialWindow>
.
Thứ hai, bạn phải chọn cách tiêm một DLL C thông thường trong quy trình đăng ký, vì API sẽ thất bại với lỗi 5 (ERROR_ACCESS_DENIED
) nếu bạn cố thay đổi ái lực của cửa sổ không sống trong quá trình gọi.
Một phương pháp tiêm có thể đang sử dụng API SetWindowsHookEx
. Google sẽ cung cấp cho bạn nhiều lượt truy cập về điều đó. Hãy yêu cầu một số chi tiết. Bạn rõ ràng là cần sự hợp tác của một quá trình khác, ở đây (và một số thực hành API Win32).
Một cách khác có thể là mã hóa 'ACTIONSCRIPT® Extensions for ADOBE® AIR®' (PDF).
này sau đó dường như thích hợp hơn:
- Không hợp tác từ một quá trình bên ngoài cần thiết.
- Adobe AIR thực hiện tải DLL cho bạn.
- Mã C/C++ đơn giản hơn nhiều.
tôi đã sử dụng kỹ thuật đầu tiên, như tôi thông thạo hơn trong Win32 API liệu về DLL, hơn tôi với AIR và Action Script ...
Tôi đã thử nghiệm thành công rằng kỹ thuật đầu tiên với một rất đơn giản " Hello World "Ứng dụng AIR Desktop và có được hình ảnh" Tất cả đen "đẹp mắt sau khi in màn hình.
- 1. Các cuộc gọi API Mocking và Win32
- 2. Gọi phương thức Win32 API từ Java
- 3. CPU Affinity
- 4. display: flex được chuyển ngẫu nhiên thành display: block với jquery hide/show và google webfont
- 5. Mục đích của cuộc gọi api win32 CreateFile2 là gì?
- 6. Giao diện Ruby win32 api
- 7. Có thể cho Win32 App gọi API WinRT không?
- 8. Tạo bảng bằng Win32 API
- 9. WPF Window đặt Focus
- 10. Vòng lặp trò chơi trong Win32 API
- 11. Chức năng cài đặt Flex không được gọi là
- 12. Làm thế nào để chạy "android.bat sdk" trong Window 7
- 13. Windows 7 Ribbon UI Mã API Win32
- 14. Cài đặt một cách có định dạng PNG thành Điều khiển ảnh trong các API Win32
- 15. Làm cách nào để ghi đè cài đặt ClearType khi vẽ văn bản bằng API Win32?
- 16. Gọi Command Prompt và Leave Window Mở
- 17. Tạo menu ngữ cảnh cho win32 API
- 18. Tương tự Win32 API gửi/bắt SIGTERM
- 19. Cài đặt flex và bison trong ubuntu
- 20. Phím nóng toàn cầu với WIN32 API?
- 21. Cách tạo chủ đề bằng Win32 API?
- 22. Win32 API để liệt kê các hàm xuất dll?
- 23. Làm thế nào để sử dụng win32 API với python?
- 24. Tin nhắn WIN32 API WM_REFLECT là gì?
- 25. Nhận mục đã chọn trong ListView win32 API
- 26. Điều gì sẽ tương đương với Win32 API trong Linux?
- 27. Haskell tham chiếu không xác định khi gọi một số chức năng win32 api
- 28. Làm thế nào để vẽ nút tùy chỉnh trong Window Titlebar với Windows Forms?
- 29. Golang: làm thế nào tôi có thể gọi win32 API mà không có cgo?
- 30. Làm cách nào để tự động lấy các khai báo API Win32 trong C#?
Bạn có phiền nếu câu trả lời của tôi nói rằng bạn phải xây dựng một DLL C, như là một "Mở rộng không khí" (cho Air 3)? – manuell
Nếu bạn gọi setwindowdisplayaffinity từ quá trình khác, nó trả về ACCESS DENIED. Sau đó, nó sẽ không được sử dụng. – Vishnu
Các dll sẽ là một phần mở rộng AIR, chạy trong quá trình ứng dụng. Không có "truy cập bị từ chối" ở đây. – manuell