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

Đề tài: Lỗi biên dịch dll ,bạn nào biết chỉ giùm mình với

  1. #1
    Ngày gia nhập
    02 2009
    Bài viết
    38

    Mặc định Lỗi biên dịch dll ,bạn nào biết chỉ giùm mình với

    File testDLL.dll :
    Code:
      #include <windows.h>  
    
    #pragma data_seg("SHARED_DATA")  
    HHOOK hGlobalHook = NULL;  
     #pragma data_seg()  
      
     LRESULT CALLBACK FillKeyboard(int nCode, WPARAM wParam, LPARAM lParam)  
      {  
      
       if ((nCode == HC_ACTION) && (wParam == 13))  
       {  
    	   MessageBox (NULL, "Test Hook", "Message", 0);  
    	   return 1;  
       }  
       
      return CallNextHookEx(hGlobalHook, nCode, wParam, lParam);  
    }  
       
     void SetGlobalHookHandle(HHOOK hHook)  
       {  
       hGlobalHook = hHook;  
       }
    Và lỗi là không thể chuyển đối số thứ 2 ở hàm MessageBox sang kiểu LPCWSTR. Hức bạn nào biết chỉ dùm mình tại sao lỗi với ?
    Biết thì nói không biết thì rửa tai lắng nghe.

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

    Code:
    #include <windows.h>  
    
    #pragma data_seg("SHARED_DATA")  
    HHOOK hGlobalHook = NULL;  
    #pragma data_seg()  
    
    LRESULT CALLBACK FillKeyboard(int nCode, WPARAM wParam, LPARAM lParam)  
    {  
    
    	if ((nCode == HC_ACTION) && (wParam == 13))  
    	{  
    		MessageBox (NULL, L"Test Hook", L"Message", 0);  
    		return 1;  
    	}  
    
    	return CallNextHookEx(hGlobalHook, nCode, wParam, lParam);  
    }  
    
    void SetGlobalHookHandle(HHOOK hHook)  
    {  
    	hGlobalHook = hHook;  
    }
    Từ sau với những Project VC++ thì xóa những File linh tinh đi up cả project lên,

  3. #3
    Ngày gia nhập
    01 2008
    Nơi ở
    UIT
    Bài viết
    129

    Đang dịch ở unicode hay ansi ?

  4. #4
    Ngày gia nhập
    02 2009
    Bài viết
    38

    Hức các bác nói kiểu gì em chả hiểu unicode với ansi như thế nào ạ @@ Em chả biết cách dùng cái vs2008 này thế nào cả. Cứ loạn cả lên.

    Đây là source ạ :
    Attached Files Attached Files
    Biết thì nói không biết thì rửa tai lắng nghe.

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

    chữa rồi còn gì,nhưng có điều nếu đưa DLL này ra làm hàm Hook thì không được đâu,vì hàm lọc này không được chia sẻ làm bộ nhớ dùng chung

  6. #6
    Ngày gia nhập
    02 2009
    Bài viết
    38

    Mặc định Lỗi biên dịch dll ,bạn nào biết chỉ giùm mình với

    Tại sao ạ ? Bác giải thích cho em với :( Cứ nói mập mờ thế này thì em chịu T T
    Biết thì nói không biết thì rửa tai lắng nghe.

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

    cần thêm cái _stdcall nữa
    Code:
    long _stdcall Tich2so(long a, long b)
    {
    return a * b;
    }
    và cả
    Cuối cùng ra khỏi màn hình vào phần lưu project tạo file ( trùng với tên file gốc bạn đã đặt .def,VD của tôi là Tinhtich2so.def)
    Trong 2file Tinhtich2so.def bạn copy đoạn sau
    Code:

    EXPORTS
    Tich2so;//đây chính là tên hàm bạn muốn sử dụng ngoài ứng dụng của DLL

    Nhớ là phải add cái def này vào project nhé
    đọc kỹ ở đây nhé

  8. #8
    Ngày gia nhập
    01 2008
    Nơi ở
    UIT
    Bài viết
    129

    Trích dẫn Nguyên bản được gửi bởi ttecak Xem bài viết
    Hức các bác nói kiểu gì em chả hiểu unicode với ansi như thế nào ạ @@ Em chả biết cách dùng cái vs2008 này thế nào cả. Cứ loạn cả lên.

    Đây là source ạ :
    Bạn lưu dạng ansi/ascii thì nó build theo ansi/ascii. Khi đó chuỗi là unicode mà lại sử dụng MessageBox() nên nó báo lỗi. Phải thêm chỉ thị 'L' trước chuỗi.

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

    Bạn lưu dạng ansi/ascii thì nó build theo ansi/ascii. Khi đó chuỗi là unicode mà lại sử dụng MessageBox() nên nó báo lỗi. Phải thêm chỉ thị 'L' trước chuỗi.
    đó chính là nguyên nhân vì sao tôi có chữ L đằng trứoc đây nè
    MessageBox (NULL, L"Test Hook", L"Message", 0);

  10. #10
    Ngày gia nhập
    02 2009
    Bài viết
    38

    Huh cái file đó chạy được rồi nhưng khi thực hiện tạo file def ra để exports các tên hàm ra bên ngoài thì bị lỗi :

    Code:
    // createdll.cpp : Defines the exported functions for the DLL application.
    //
    
    #include "stdafx.h"
    
    #pragma data_seg(".SHRDATA")
    
    HHOOK hGlobalHook = NULL;  
    #pragma data_seg()
    
    LRESULT _stdcall CALLBACK KeyboardHook (int nCode, WPARAM wParam, LPARAM lParam)
    {
    	if ( nCode < 0)
    	{
    		return CallNextHookEx( NULL, nCode, wParam, lParam );
    	}
    
    	if ((nCode == HC_ACTION) && (wParam == 13))
    	{
    		MessageBox (NULL, L"test hook", L"Message", 0);
    		return 1;
    	}
    	return CallNextHookEx(hGlobalHook, nCode, wParam, lParam);  
    
    }
     void _stdcall SetGlobalHookHandle(HHOOK hHook)  
     {  
    	 hGlobalHook = hHook;  
     }
    file def :
    Code:
    LIBRARY	"createdll"
    EXPORTS
    	KeyboardHook
    	SetGlobalHookHandle
    và đây là lỗi :
    Error 1 general error c1010070: Failed to load and parse the manifest. The system cannot find the file specified. .\Debug\Callback.exe.intermediate.manifest Callback
    Đã được chỉnh sửa lần cuối bởi ttecak : 15-03-2009 lúc 12:34 AM. Lý do: Bị lỗi
    Biết thì nói không biết thì rửa tai lắng nghe.

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

  1. Có ai biết in dữ liệu thông qua cân điện tử không, xin giúp giùm.
    Gửi bởi bl4ir121 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 02-08-2011, 11:10 PM
  2. sửa giùm em cái code này không biết lỗi chèn mảng sau nữa!
    Gửi bởi along1089 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 27-04-2010, 06:08 PM
  3. Quán cafe dành cho người khiếm thị, ai biết thông tin chỉ giùm với?
    Gửi bởi thegioicafe.vn trong diễn đàn Giải trí - Thư giãn
    Trả lời: 0
    Bài viết cuối: 17-06-2009, 10:14 AM
  4. Định dạng rtf , bác nào biết chỉ giùm
    Gửi bởi tienlbhoc trong diễn đàn Thắc mắc chung
    Trả lời: 4
    Bài viết cuối: 12-10-2008, 08:03 AM
  5. [Linux] Giải giùm em 3 cái dề tài này với!Em không biết làm
    Gửi bởi dieulinh_hg trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 15-12-2007, 12:07 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