有关钩子、动态链接库和数据共享方面有关问题,

有关钩子、动态链接库和数据共享方面问题,求助!
本人想通过一个全局钩子捕获电脑在其他程序中的按键操作,并将其传入数据库,昨晚遇到了一个的问题,一直都没有解决,求大神帮助!
1. 在主进程调用钩子中函数GetValue后,并不能运行成功,出现了错误Debug Assertion Failed,不知道怎么解决啊!
#pragma data_seg("Mysec");
int Time=10;
#pragma data_seg()

#pragma comment(linker,"/section:Mysec,RWS")

extern "C" __declspec (dllexport)  int GetValue()
{
return Time;
}
2. 附加在提一个问题,我想实时获取键盘几个按键的信息,如每50毫秒发一组特定按键的状态,不知道这样可以吗?
dll中的全局钩子捕获到按键消息后,sleep(50),将按键状态传给共享数据,主进程将这些数据记录到数据库,不知道有没有更好的方法?

本人并非计算机专业,自己摸索出现了较多问题,还请大家能够不吝赐教,非常感谢大家的帮助!
------解决思路----------------------
Debug Assertion Failed 这个你要看具体是什么错误, 调试看看

你的这个获取按键的信息, 注入DLL的方式不是很好, 还要通讯
可以直接在exe中: SetWindowsHookEx(WH_KEYBOARD_LL, ...      这种比较简单