#pragma data_seg (".mydata")
HHOOK g_hHookKbdLL = NULL; // hook handle
BOOL  g_bBeep = FALSE; // beep on illegal key
#pragma data_seg ()
#pragma comment(linker, "/SECTION:.mydata,RWS") // tell linker: make it shared
 是不是在内存里声明一段全局的数据区?这样就可以和DLLs或其他进程共享数据?

解决方案 »

  1.   

    在 DLL 中创建一组共享的全局变量,当 DLL 被多个进程调用时这些变量在 多个 DLL 的 位于不同进程的 拷贝 之间是共享的
      

  2.   

    是的。它的作用就是在DLL创建一个具有共享属性的数据节,所有DLL实例都可以共享这个节中的数据。
      

  3.   

    和普通变量一样,当然,要在你的DLL内部使用。
      

  4.   

    In355Hz(好象一条狗) 
      和一般的全局变量不一样吧`
    到这里来讨论这个问题:
    http://expert.csdn.net/Expert/topic/1593/1593129.xml?temp=.8484003
      

  5.   

    dll中的共享变量。在同一操作系统中,多个进程加载此DLL,变量HHOOK g_hHookKbdLL = NULL; // hook handle
    BOOL  g_bBeep = FALSE;
    是全局的。