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

Đề tài: Giảm thời gian chậm trễ khi sử dụng WH_KEYBORAD_LL??

  1. #1
    Ngày gia nhập
    04 2010
    Nơi ở
    ở nhà tui
    Bài viết
    17

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

    Code:
    #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 gia nhập
    10 2010
    Nơi ở
    Unallocated Memory
    Bài viết
    43

    Trích dẫn Nguyên bản được gửi bởi dragon124 Xem bài viết
    Code:
    #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.
    Nghìn dặm phong ba cách tiếng lòng
    Vạn sầu thương nhớ nỗi hư không
    Nhìn phương xa ấy, mình ta ngóng
    Cố với tay theo một bóng hồng

  3. #3
    Ngày gia nhập
    04 2010
    Nơi ở
    ở nhà tui
    Bài viết
    17

    Trích dẫn Nguyên bản được gửi bởi puss Xem bài viết
    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 gia nhập
    04 2009
    Nơi ở
    /Users/richtran
    Bài viết
    103

    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

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

  1. Database Chương trình không chạy sau 1 thời gian sử dụng
    Gửi bởi MYNAM trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 25-04-2013, 05:07 PM
  2. Trả lời: 0
    Bài viết cuối: 24-02-2013, 11:16 PM
  3. Hiển thị thời gian đã chạy chương trình bằng cách nào?
    Gửi bởi tuananhk43 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 10-10-2012, 09:54 PM
  4. in ra thời gian chạy chương trình
    Gửi bởi AlexF trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 13
    Bài viết cuối: 18-02-2009, 07:35 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