Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Gửi 1 phím cho app đang chạy trong lập trình C#?

  1. #1
    Ngày gia nhập
    03 2012
    Bài viết
    2

    Mặc định Gửi 1 phím cho app đang chạy trong lập trình C#?

    Mình hiện đang làm 1 đề tài (bí mật 1 tí hihi nếu làm được mình sẽ share cho a e đầu tiên)
    công việc của mình bị tắc 1 chỗ là giờ mình có 1 Form giờ mình mún thực hiện lệnh nhấn nút Space vào form hiện tại khi mình click vào 1 button ,a e nào có kiến thức 1 tí về vụ này cho mình ý kiến với.Mình Đã làm được nhưng khi mình rê chuột ra ngoài form nó vẫn cứ nhấn space làm các app khác bị lây theo(mình muốn chỉ tự động nhấn space vào form mình đang làm thui)
    Hàm mình xài là

    SendKeys.Send("{Space}");
    Đã được chỉnh sửa lần cuối bởi chaulam : 20-03-2012 lúc 08:03 PM.

  2. #2
    Ngày gia nhập
    12 2008
    Nơi ở
    Hà Nội
    Bài viết
    374

    Bạn có thể sử dụng WinAPI SendMessage.
    Tham số hWnd có thể sử dụng FindWindow ( có nhiều cách ,mình ko nhớ rõ ).

    Còn nhiều cách khác. ( như CreateRemoteThread , ... , cũng unmanager code )

    Sử dụng Platform Invoke trong C# để gọi hàm này.

    Mình mới chuyển từ VC++ sang C# , nên cũng khuyên bạn không nên dùng cách sử dụng unmanager code này , biết thì nói thôi

  3. #3
    Ngày gia nhập
    03 2012
    Bài viết
    2

    Mình đã dò rất nhìu trên các trang nước ngoài,và có cách của bạn,nhưng vẫn xài SentKey.Sent() nên ko đc như ý mình lắm,ý mình là gửi phím cho riêng 1 app thui,các app khác sẽ không nhận được phím đó.xài cách của bạn các app khác vẫn bị ảnh hưởng.thank

  4. #4
    Ngày gia nhập
    12 2008
    Nơi ở
    Hà Nội
    Bài viết
    374

    Thử chưa bạn ?
    Không ai lắm hơi cho bạn sample code rồi để bạn copy-paste xem nó có chạy đúng hay ko đâu.
    Mình chém gió vậy thôi, được hay ko tùy bạn.

    SendMessage ( hoặc PostMessage ) nhận 1 tham số là hWnd ( handle của cửa sổ cần gửi message ). Bạn có thể dùng FindWindow() , GetWindow() hay EnumWindows() để tìm tham số này.

    Còn muốn gửi message nào thì tùy bạn, các message về mouse input ở đây :
    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

  5. #5
    Ngày gia nhập
    12 2009
    Nơi ở
    Thanh Xuan, HN, Vietnam
    Bài viết
    42

    Trích dẫn Nguyên bản được gửi bởi chaulam Xem bài viết
    Mình hiện đang làm 1 đề tài (bí mật 1 tí hihi nếu làm được mình sẽ share cho a e đầu tiên)
    công việc của mình bị tắc 1 chỗ là giờ mình có 1 Form giờ mình mún thực hiện lệnh nhấn nút Space vào form hiện tại khi mình click vào 1 button ,a e nào có kiến thức 1 tí về vụ này cho mình ý kiến với.Mình Đã làm được nhưng khi mình rê chuột ra ngoài form nó vẫn cứ nhấn space làm các app khác bị lây theo(mình muốn chỉ tự động nhấn space vào form mình đang làm thui)
    Hàm mình xài là

    SendKeys.Send("{Space}");
    Không biết mình đúng y bạn không nữa? Bạn thử dùng keydown cho form xem.
    Tương tự ở bài này:
    http://diendan.congdongcviet.com/showthread.php?t=92271

    Full name: Nguyễn Đăng Quang
    Skype: mr.quanga3
    Gmail: dangquangk53a3@gmail.com
    Mobile: 0166.978.6636

Các đề tài tương tự

  1. Cơ chế nhập chuỗi kí tự trong C++ , cơ chế strlen ???
    Gửi bởi kwideur trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 31-03-2013, 08:11 PM
  2. Biểu thức Regex chạy trong Expresso thì đúng nhưng chạy trong visual studio lại sai
    Gửi bởi rossoneri trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 30-06-2012, 02:58 PM
  3. Biên dịch chạy tốt, chạy file .exe trong Debug lỗi
    Gửi bởi conrongchautien trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 2
    Bài viết cuối: 19-04-2012, 11:03 AM
  4. Bên dịch chạy tốt, chạy file exe trong Debug lỗi?
    Gửi bởi god trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 4
    Bài viết cuối: 22-05-2009, 08:19 PM
  5. Release QT Trong QT creator chạy được, chạy trực tiếp không được
    Gửi bởi AdminPro trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 13-05-2009, 10:24 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn