- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi có một số câu hỏi về WH_MOUSE. Từ những gì tôi đã đọc, bằng cách đặt hook vào DLL, nó sẽ thực hiện quy trình. Điều này có nghĩa là việc bắt chuột cũng hoạt động trên máy tính để bàn của tôi, khởi chạy menu, v.v. phải không? Thanh tiêu đề của ứng dụng thì sao? Tôi đã thấy một số bài đăng trên Internet có loại vấn đề này, nhưng không biết liệu chúng có bị lỗi vì lý do nào đó hay có một số hạn chế nào đó (hoặc phương pháp khác).
Tôi cũng có câu hỏi về hiệu suất giữa WH_MOUSE và WH_MOUSE_LL. Tôi đã tìm thấy ở đâu đó rằng WM_MOUSE nhanh hơn WH_MOUSE_LL, nhưng điều đó có thực sự rõ ràng không? Nếu vậy, trong trường hợp nào nó làm chậm hệ thống đến mức chúng ta có thể nhận thấy? Nếu tôi chỉ muốn ghi lại các lần nhấp chuột và bàn phím, WH_MOUSE_LL có hoạt động không?
Cảm ơn!
câu trả lời hay nhất
Cả hai Móc này đều cho phép bạn nhập chuột vào bất cứ đâu trên màn hình (ngoại trừ những trường hợp được liệt kê bên dưới) và từ góc độ chức năng nâng cao này, về cơ bản chúng giống nhau.
Cả hai đều bị ràng buộc UIPI: không có hook nào cho phép bạn nhập dữ liệu bằng chuột khi chuột vượt qua quá trình nâng cao.
Hook cấp thấp không yêu cầu DLL và do đó có thể được sử dụng bởi C#. Loại còn lại yêu cầu một DLL riêng được viết bằng mã không được quản lý (C/C++).
Nếu chạy trên máy 64 bit, bạn có thể chạy kết hợp các quy trình 32 bit và 64 bit, đồng thời các móc cấp thấp sẽ nhận các sự kiện từ cả hai loại quy trình, nhưng các loại móc khác sẽ chỉ thấy các sự kiện từ các quy trình có "bitness" giống như các sự kiện của quy trình (hạn chế này bắt nguồn từ việc sử dụng hook DLL; DLL hook 32 bit chỉ có thể móc vào các quy trình 32 bit và điều tương tự cũng xảy ra với các quy trình 64 bit.) Vì vậy, nếu bạn quan tâm đến tình huống này, sử dụng LL Hook bạn chỉ cần một quy trình, còn sử dụng các loại Hook khác , bạn cần hai quy trình hợp tác, một quy trình dành cho 32 bit và một quy trình dành cho 64 bit.
Móc LL yêu cầu vòng lặp thông báo để chạy.
Móc LL viết đơn giản hơn vì lệnh gọi lại xảy ra trong quy trình của riêng bạn, do đó bạn có quyền truy cập vào các biến toàn cục của riêng mình, v.v. Với các loại hook khác, lệnh gọi lại xảy ra trong một quy trình khác, do đó bạn phải thực hiện thêm công việc để chuyển thông tin trở lại quy trình chính. (Trong cả hai trường hợp, bạn nên giữ mã trong các lệnh gọi lại ở mức tối thiểu; chỉ cần thực hiện lọc và kiểm tra cơ bản, đồng thời thực hiện bất kỳ công việc quan trọng nào từ mã dòng chính của bạn thay vì các lệnh gọi lại.)
LL Hook "chậm hơn" vì thông báo đầu vào được mã hóa vào quy trình của bạn, được xử lý ở đó và sau đó ngữ cảnh lại được chuyển trở lại quy trình ban đầu. Với các loại Hook khác, không có chuyển đổi ngữ cảnh. Tuy nhiên, điều này có thể được người dùng chú ý hoặc không và có thể phụ thuộc vào những gì bạn làm trong lệnh gọi lại, cách bạn xử lý thông tin, thời điểm Hook được cài đặt và các yếu tố khác.
Vấn đề về thanh tiêu đề dường như đã được giải quyếttrong câu hỏi này ;Tóm tắt là những gì bạn nhận được trên thanh tiêu đề (và các khu vực không dành cho khách hàng khác) WM_NCMOUSEMOVE tin nhắn, tin nhắn WM_MOUSEMOVE được nhận ở nơi khác, vì vậy bạn phải kiểm tracả hai.
2c của tôi: Nếu bạn đang viết một tiện ích đơn giản hoặc viết mã cho vui, hãy chọn _LL; nó dễ dàng hơn nhiều và có thể xử lý hầu hết các tình huống khó khăn cho bạn; bạn không phải lo lắng về các vấn đề 64/32 bit hoặc Giao tiếp giữa các quy trình; có thể đứng dậy và chạy nhanh hơn. Khi logic ứng dụng của bạn hoạt động bình thường, sau này bạn có thể chuyển đổi mã sang các loại Hook khác nếu cần. Mặt khác, nếu bạn muốn một ứng dụng "chuyên nghiệp" hơn, là một "công dân tốt" và giảm thiểu tác động của nó đến các ứng dụng khác thì các loại Hook khác có thể phù hợp hơn nhưng với tất cả những thứ liên quan đến hiệu suất, thước đo; đầu tiên, đừng giả định, vì vậy, tốt nhất bạn nên bắt đầu với móc _LL (Hook).
Về c++ - Mouse Hook - Hạn chế và Hiệu suất, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/11192713/
Tôi đang cố gắng tạo một tính năng cho trang web của mình cho phép người dùng cuộn nội dung div theo chiều ngang bằng cách sử dụng các sự kiện mousemove và touchmove (tương tự như Apple AppStore bất kỳ ứng dụng nào Ảnh chụp màn hình
Tôi đã sửa lỗi điều hướng thanh bên và nó hoạt động khi di chuột nhưng tôi muốn mở menu đầu tiên bằng cách nhấp vào nút thu gọn. Tương tự như cách di chuột trên menu 1 hoạt động. Tôi đã thử những điều sau đây. Bản trình diễn jsfiddle $(document).on('c
Mouse.Synchronize() làm gì trong .Net? MSDN cho biết nó "buộc đồng bộ hóa lại chuột" Câu trả lời hay nhất chỉ là giả định của tôi: Một lớp phương thức tương tự tồn tại trong Stylus: Stylus.Synchroni
Có cách nào để sử dụng chuột cùng lúc pygame.mouse.set_visible(False) được kích hoạt không. Hiện tại chuột chỉ trả về tọa độ phía dưới bên phải khi cố gắng sử dụng nó. Cần có khả năng lấy được tọa độ chính xác khi ẩn chuột. trong tài liệu của họ
Tôi có một cơ sở dữ liệu bị thiếu dữ liệu. Tôi cần nhập dữ liệu (tôi đang sử dụng chuột) và sau đó tạo các cột mới dựa trên các cột ban đầu (sử dụng dữ liệu được liệt kê). Tôi cần sử dụng các cột mới này để phân tích thống kê. Cụ thể, những người tham gia của tôi đã điền vào một số bảng câu hỏi sử dụng thang đo Likert 7 điểm. một số người không
Tôi đang viết một robot tương tác với máy tính. Tóm lại, những gì tôi đã làm là: - chụp ảnh màn hình - xác định đối tượng trên ảnh chụp màn hình này (sử dụng cv2 matchTemplate) - sử dụng vị trí tìm thấy để thực hiện một số thao tác chuột (ví dụ: di chuyển con trỏ chuột đến
Chương trình của tôi là một trò chơi văn bản sử dụng hộp văn bản trên WindowsForm để mô phỏng đầu ra của bảng điều khiển. Một tính năng tôi đang cố gắng triển khai là bằng cách nhấp vào nút, nó sẽ xuất ra TextBox ở một tốc độ nhất định, điều này đạt được thông qua phương pháp này atm: pu
Tôi đã gặp phải một vấn đề. Bất kỳ trợ giúp sẽ được đánh giá rất cao. Tôi đang cố gắng bắn từ vị trí người chơi đến vị trí nhấp chuột. Mã không gây ra bất kỳ lỗi nào cho tôi và theo logic của tôi, nó sẽ hoạt động nhưng nó không tạo ra đối tượng dấu đầu dòng và thế là xong. // Viên đạn
Với điện thoại thông minh Windows Mobile 6.1 có Bluetooth, tôi muốn đăng ký nó làm chuột. Về cơ bản những gì tôi đang làm bây giờ: sử dụng Guid {00001124-0000-1000-8000-00805f9b34fb}
Tôi có câu hỏi về cách chính xác để triển khai các sự kiện kéo chuột trong JavaFX. Phương thức playGame() của tôi hiện đang sử dụng onMouseClicked, nhưng đây chỉ là một trình giữ chỗ. Lý tưởng nhất là tôi muốn "đĩa nhựa" được kéo cùng với chuột.
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以
Tôi hiện đang sử dụng API Windows RawInput để truy cập đầu vào bàn phím và chuột. Một điều tôi hơi bối rối là khi tôi đăng ký chuột làm RawInputDevice, tôi không thể di chuyển cửa sổ Win32 của mình hoặc sử dụng nó ở đó
Tôi muốn di chuyển chuột trong cửa sổ trình duyệt trang web của mình như thế này: www.lmsify.com. Làm thế nào tôi có thể làm điều này? (javascript, flash, activex) Trân trọng, Lisa M Câu trả lời hay nhất Họ thực sự không
Tôi muốn một hình ảnh động. Tôi là nhà phát triển phụ trợ nhưng tôi phải tạo hoạt ảnh bằng jquery. Hoạt ảnh, hình nền và vị trí phần tử thay đổi khi di chuyển chuột. Tương tự với http://www.kennedyandoswald.com/#!/premi
Cách "khóa" chuột vào cửa sổ OpenGL. Giống như cách nó được thực hiện trong Minecraft. GameDev có phải là nơi tốt hơn để hỏi không? Câu trả lời hay nhất Như Robert đã nói trong phần nhận xét, OpenGL không thực sự
我正在尝试实现一个颜色选择器,它从屏幕上各处的像素中获取颜色。为此,我计划使用全局鼠标 Hook 来监听 WM_MOUSEMOVE,以便在鼠标四处移动时更新颜色,并监听鼠标点击以确认 (WM_LBUT
Làm cách nào để tương tác với Windows API bằng Java và JNA (quyền truy cập gốc Java)? . Tôi đang cố gắng làm cho chuột làm điều gì đó bằng cách xếp hàng các sự kiện chuột trên luồng đầu vào của chuột và mã hoạt động vì SendInput(...)
Tôi muốn di chuyển con trỏ chuột bằng tập lệnh C++. Tôi đang sử dụng Visual C++ 2010 Express trong Windows 7 trong Parallels và đã tạo một ứng dụng bảng điều khiển. Tôi biết SetCur
Tôi có một số câu hỏi về WH_MOUSE. Từ những gì tôi đã đọc, bằng cách đặt hook vào DLL, nó sẽ thực hiện quy trình. Điều này có nghĩa là việc bắt chuột cũng hoạt động trên máy tính để bàn của tôi, khởi chạy menu, v.v. phải không? Thanh tiêu đề của ứng dụng thì sao? TÔI
Làm cách nào để hiển thị một con trỏ khác cho nhiều con chuột? Tôi có hai TMemos, hai bàn phím có thể nhập TMemos của riêng chúng, 2 con chuột và tôi cần 2 con trỏ. Nếu theo giả thuyết, tôi đã có thể phát hiện ra con chuột nào. Làm cách nào tôi có thể tạo con trỏ của riêng mình
Tôi là một lập trình viên xuất sắc, rất giỏi!