Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 10 của 10
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

  2. #2
    Dùng SendMessage, keybd_event để giả lập phím bấm.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mọi phần mềm nào chạy trên Windows cuối cùng đều sử dụng WinAPI của kể cả .NET hay Java.

    Mà Win32 được viết dưới C Language nên câu hỏi này

    không rõ là VC++ có khả năng này không nữa
    hehe hơi bị thừa [IMG]images/smilies/daydreaming.gif[/IMG]

    Chương trình mình code Demo không biết có giống hàm Send của bạn hay không?

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    cả sendinput nữa , vc++ không biết nhưng c# thì xem ở đây nhé
    http://www.mediafire.com/?3muxozw1qmj

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Class CKey của ZCoder87 rất hay, cho mình hỏi 2 dòng này làm gì vậy
    Mã:
    	SendMessage(hWnd, WM_SYSCOMMAND, SC_HOTKEY, (LPARAM) hWnd);
    	SendMessage(hWnd, WM_SYSCOMMAND, SC_RESTORE, (LPARAM) hWnd);

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mã:
    #include<windows.h>
    #include<string.h>
    int main()
    {
        HWND hwnd;
        if ((hwnd=FindWindow("YahooBuddyMain", NULL))==NULL)
        {
             MessageBox(0,"khong tim thay cua so word","Error",NULL);
             return 0;
        }
        SetForegroundWindow(hwnd);
        SetFocus(hwnd);
        Sleep(300);
        keybd_event('C',12,0,0);
    }
    đây là 1 form nhâp pass vào YAHOO mình nghĩ,nhưng nếu mà nhập thế này không nhập được cả 1 chuỗi có lẽ rất lâu,vì hàm keybd_event chỉ cho mỗi lần nhập 1 chữ vậy thì làm thế nào nhỉ,mình lười kiểu code thủ công nhập từng chữ lắm[IMG]images/smilies/smile.png[/IMG]

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Phải vậy thôi bạn à, chạy vòng for quét chuỗi và send từng ký tự trong chuỗi. Tốc độ chạy của vòng for rất nhanh nên ko đáng lo.

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Phải vậy thôi bạn à, chạy vòng for quét chuỗi và send từng ký tự trong chuỗi. Tốc độ chạy của vòng for rất nhanh nên ko đáng lo.
    mình thấy nó chẳng thích hợp gì hết trơn,vd NHƯ
    Mã:
    #include<windows.h>
    #include<string.h>
    void nhap()
    {
        char ten[100],pass[100];
        strcpy(ten,"coder_nguyen");
        strcpy(pass,"PASS");
        int soten = strlen(ten),sopass = strlen(pass);
        for(int i=0;i<soten;++i)
            keybd_event(ten[i],12,0,0);
        keybd_event(VK_TAB,12,0,0);
        for(int i=0;i<sopass;++i)
            keybd_event(pass[i],12,0,0);
        keybd_event(VK_RETURN,12,0,0);
    }
    int main()
    {
        HWND hwnd;
        if ((hwnd=FindWindow("YahooBuddyMain", NULL))==NULL)
        {
             MessageBox(0,"khong tim thay cua so word","Error",NULL);
             return 0;
        }
        SetForegroundWindow(hwnd);
        SetFocus(hwnd);
        Sleep(300);
        nhap();
    }
    NÓ lại không thể lấy được dấu Shift - ( _ ) ấy,mà chuyển sang kiểu số thì mất công quá

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    ZCoder87 viết sẵn 1 lớp CKey cool như vậy mà không biết xài à [IMG]images/smilies/biggrin.png[/IMG]

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi MATH-INFO
    Class CKey của ZCoder87 rất hay, cho mình hỏi 2 dòng này làm gì vậy
    Mã:
    	SendMessage(hWnd, WM_SYSCOMMAND, SC_HOTKEY, (LPARAM) hWnd);
    	SendMessage(hWnd, WM_SYSCOMMAND, SC_RESTORE, (LPARAM) hWnd);
    2 Hàm này nhằm chắc ăn active Windows thôi.
    Chán ghê đó. Mấy cái này có hết trong MSDN

    Mã:
    SC_HOTKEY
    Activates the window associated with the application-specified hot key. 
    The lParam parameter identifies the window to activate.
    
    SC_RESTORE
    Restores the window to its normal position and size.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •