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 4 của 4
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Giảm thời gian chậm trễ khi sử dụng WH_KEYBORAD_LL??

    Mã:
    #include "stdafx.h"
    #include <windows.h>
    using namespace std;
    KBDLLHOOKSTRUCT* keycode;
    HHOOK hokk;
    int CALLBACK Hook(int code,WPARAM wparam,LPARAM lparam){
    	if((code==HC_ACTION)&&(wparam==WM_KEYDOWN)){
    		MessageBox(NULL,TEXT("hello world"),TEXT("Hello"),MB_OK);
    		return 1;
    	}else return CallNextHookEx(NULL,code,wparam,lparam);
    }
    int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ){
    	MSG msg;
    	hokk=SetWindowsHookEx(13/*cai nay tuong ung voi WH_KEYBOARD_LL*/,(HOOKPROC)Hook,hInstance,0);
    	while(GetMessage(&msg,NULL,0,0)){
    		TranslateMessage(&msg);
    		DispatchMessage(&msg);
    	}
    	return UnhookWindowsHookEx(hokk);
    }
    Code trên em biên dich trên Microsoft visual Studio 2011 mà chạy chậm dã man.
    Bấm 3 phím A S D mà máy đơ mất gần 10 phút.Có cách nào giảm thời gian trễ lại k ?

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi dragon124
    Mã:
    #include "stdafx.h"
    #include <windows.h>
    using namespace std;
    KBDLLHOOKSTRUCT* keycode;
    HHOOK hokk;
    int CALLBACK Hook(int code,WPARAM wparam,LPARAM lparam){
    	if((code==HC_ACTION)&&(wparam==WM_KEYDOWN)){
    		MessageBox(NULL,TEXT("hello world"),TEXT("Hello"),MB_OK);
    		return 1;
    	}else return CallNextHookEx(NULL,code,wparam,lparam);
    }
    int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ){
    	MSG msg;
    	hokk=SetWindowsHookEx(13/*cai nay tuong ung voi WH_KEYBOARD_LL*/,(HOOKPROC)Hook,hInstance,0);
    	while(GetMessage(&msg,NULL,0,0)){
    		TranslateMessage(&msg);
    		DispatchMessage(&msg);
    	}
    	return UnhookWindowsHookEx(hokk);
    }
    Code trên em biên dich trên Microsoft visual Studio 2011 mà chạy chậm dã man.
    Bấm 3 phím A S D mà máy đơ mất gần 10 phút.Có cách nào giảm thời gian trễ lại k ?
    Có lẽ bạn nên tìm hiểu lại về hook.
    Theo những gì mình biết thì hàm xử lý hook phải được đặt trong 1 dll, vì nó sẽ được ánh xạ vào các process. Bạn không thể để trong file exe được.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi puss
    Có lẽ bạn nên tìm hiểu lại về hook.
    Theo những gì mình biết thì hàm xử lý hook phải được đặt trong 1 dll, vì nó sẽ được ánh xạ vào các process. Bạn không thể để trong file exe được.
    Đâu phải loại hook nào cũng bắt buộc đặt hàm xử lý trong dll đâu bạn : bạn tham khảo cái này này http://msdn.microsoft.com/en-us/libr...eyboard_llhook

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Nếu bạn hook toàn cục mới dùng DLL, còn nếu hook cục bộ thì ko cần dùng DLL

 

 

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
  •