static HINSTANCE hInstance; 
typedef BOOL (CALLBACK *pINSTALLHOOK)(); 
pINSTALLHOOK installbhook;
         if(hInstance = LoadLibrary((LPCTSTR)"HOOKDLL.dll"))
{
installbhook = (pINSTALLHOOK)GetProcAddress(hInstance,"InstallHook");  
installbhook();

else
{
MessageBox(NULL, L"当前目录找不到mousehook.dll文件", L"error!", FALSE) ;
}
我把它放在xxx.cpp文件的BOOL CxxxApp::InitInstance()函数里,可是每次调试执行时都提示:“"当前目录找不到mousehook.dll文件", ”而不调用DLL中的installbhook函数,我已经把mousehook.dll文件拷贝到此程序的文件夹下了呀。
还请达人们指教!

解决方案 »

  1.   

    LoadLibrary((LPCTSTR)"HOOKDLL.dll")   要这个吧 -》 mousehook.dll你把名字搞错了
      

  2.   

    不是上面是笔误:static HINSTANCE hInstance; 
    typedef BOOL (CALLBACK *pINSTALLHOOK)(); 
    pINSTALLHOOK installbhook;
             if(hInstance = LoadLibrary((LPCTSTR)"mousehook.dll"))
    {
    installbhook = (pINSTALLHOOK)GetProcAddress(hInstance,"InstallHook");  
    installbhook();

    else
    {
    MessageBox(NULL, L"当前目录找不到mousehook.dll文件", L"error!", FALSE) ;
    }
    应该是这样的
      

  3.   

    看看是不是DLL文件放错地方了,你那样写DLL文件就应该和包含有这段代码的xxx.cpp文件放在同一个目录下
      

  4.   

    放到debug 或 release 文件夹下?
      

  5.   

    有两种情况,一是mousehook.dll放的路径不对,这个你可以用绝对路径试试,二是mousehook.dll调用了其他DLL,但是相应的DLL不在该路径下。
      

  6.   

    上面的方法我都试过了,Hook的每个文件夹我都复制了一份,都不行啊,郁闷!
    我用的是VC++2005不知道是不是哪边设置有问题!
      

  7.   

    应该是xxx的每个文件夹都复制了一份
    汗!又写错了!
      

  8.   

    MessageBox(NULL, L"当前目录找不到mousehook.dll文件", L"error!", FALSE) ;
    难道是UNICODE版??你调试看看hInstance 的值是多少。
      

  9.   

    在LoadLibrary后用GetlastError()看返回的错误是什么
      

  10.   

    是unicode版,2005默认的就是unicode
      

  11.   

    怎么用GetlastError()啊?
    hInstance的值怎么看?
    偶是不折不扣的菜鸟!
      

  12.   

    谢谢大家!不用unicode就成功了。
    但是用了unicode该怎么办呢?
      

  13.   

    hInstance = LoadLibrary((LPCWSTR)"mousehook.dll")
      

  14.   

    hInstance = LoadLibraryW((LPCWSTR)"mousehook.dll")
      

  15.   

    HINSTANCE hLibrary;
    FARPROC  show;
    hLibrary=LoadLibrary("baseinfo.dll");
    if(hLibrary)
    {
    show=GetProcAddress(hLibrary,"show");
    if (show!=(FARPROC)NULL)
    show();
    FreeLibrary(hLibrary);
    }
    else
    {
    MessageBox("不能正确调用!");
    FreeLibrary(hLibrary);
    }
    这个我的代码,是可以用的哦!