考虑把#include <afxdllx.h>

#pragma data_seg("SharedData")
转移到 mousehook.h
中去编译试试。

解决方案 »

  1.   

    D:\mousehook\mousehook.cpp(12) : error C2628: 'Cmousehook' followed by 'char' is illegal (did you forget a ';'?)
    D:\mousehook\mousehook.cpp(12) : error C2538: new : cannot specify initializer for arrays
    D:\mousehook\mousehook.cpp(45) : error C2665: 'new' : none of the 3 overloads can convert parameter 2 from type 'class Cmousehook []'
    D:\mousehook\mousehook.cpp(75) : error C2065: 'MouseProc' : undeclared identifier
    D:\mousehook\mousehook.cpp(99) : error C2373: 'MouseProc' : redefinition; different type modifiers
    Error executing cl.exe.
    Creating browse info file...mousehook.dll - 5 error(s), 0 warning(s)转过去又变成这个样子了
    ???
      

  2.   

    谢谢:)
    不过我这个DLL是很简单的一个例程
    我想先搞清楚简单的再去看复杂的
    :)~~~~
      

  3.   

    在link的命令行中还要使用/SECTION 开关
    /SECTION :name,attributes
      

  4.   

    是不是没加这句声明:
    #pragma comment(linker,"/section:SharedData,rws")只有#pragma data_seg("SharedData")数据不能共享
      

  5.   

    比如,可以
    /SECTION:SharedData,RWS
    分别为:
    R->Read
    W->Write
    S->Shared
      

  6.   

    把你的头文件"mousehook.h"贴出来,估计是其中少写了什么,才影响到
    #include "mousehook.h"语句后的内容.
      

  7.   

    class AFX_EXT_CLASS Cmousehook:public CObject 

    public:
    Cmousehook();
    /*钩子类的构造函数 */
    ~Cmousehook(); 
    //钩子类的析构函数 
    BOOL starthook(HWND hWnd); 
    //安装钩子函数 
    BOOL stophook(); 
    //卸载钩子函数 }
    就这些
    有问题吗?
      

  8.   

    在类定义后加一个分号";",否则 编译器认为类定义后紧接着是变量声明!!!class AFX_EXT_CLASS Cmousehook:public CObject 

    public:
    Cmousehook();
    /*钩子类的构造函数 */
    ~Cmousehook(); 
    //钩子类的析构函数 
    BOOL starthook(HWND hWnd); 
    //安装钩子函数 
    BOOL stophook(); 
    //卸载钩子函数 }; <== can not ignore