摘要:
1 文件映射进程间通信 文件映射(Memory-Mapped Files)能使进程把文件内容当作进程地址区间一块内存那样来对待。因此,进程不必使用文件I/O操作,只需简单的指针操作就可读取和修改文件的内容。 Win32 API允许多个进程访问同一文件映射对象,各个进程在它自己的地址空间里接收内存的指针。通过使用这些指针,不同进程就可以读或修改文件的内容,实现了对文件中数据的共享。 应用程序有三种方法来使多个进程共享一个文件映射对象。 (1)继承:第一个进程建立文件映射对象,它的子进程继承该对象的句柄。 (2)命名文件映射:第一个进程在建立文件映射对象时可以给该对象指定一个名字(可与文... 阅读全文
摘要:
1、全局钩子,监听键盘字符:钩子函数导出:HHOOK Hook;LRESULT CALLBACK Hookkey(int nCode,WPARAM wParam,LPARAM lParam);void Savekey(char* c);__declspec(dllexport)void WINAPI OutEv()//安装全局钩子{ Hook=(HHOOK)SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)Hookkey,theApp.m_hInstance,0);}LRESULT CALLBACK Hookkey(int nCode,WPARAM wParam,L 阅读全文
摘要:
1、显示调用DLL方式:typedef float (*MyCalculate)(float,float,int); //宏定义floatcalculate函数指针类型 HINSTANCE hdll; //DLL的句柄 MyCalculate calfunc;//函数指针 hdll=LoadLibrary("..\\debug\\FloatCalDLL.dll"); //LoadLibrary函数装载DLL if(hdll!=NULL) { //GetProcAddress函数获得calculate函数地址 calfunc=(MyCalculate)GetProcAd... 阅读全文