11 2012 档案
摘要:#include "..\server\server.h"//包含组建头文件//三个接口const IID IID_IQuan = {0xD8F43E2D,0xA5E2,0x4860,{0xAB,0xBF,0x99,0x59,0x46,0x93,0x8B,0xF1}}; const IID IID_IQuanInt2 = {0x8EAAFD88,0xF503,0x4E64,{0x87,0xFF,0x03,0x6E,0xF2,0x65,0x07,0x04}}; const IID IID_IQuanInt3 = {0xA3838B9E,0xC925,0x443A,{0xBD,
阅读全文
摘要:http://cs.nju.edu.cn/yangxc/dcc2003.files/jszc-sub/comif-30.htm摘要:WIN95界面下的VC++串口通讯程序在WIN32下是不建议对端口进行操作的,在WIN32中所有的设备都被看成是文件,串行口也不例外也是作为文件来进行处理的。 关键词 串行口,DWORD,缓冲区 WIN95界面下的VC++串口通讯程序在WIN32下是不建议对端口进行操作的,在WIN32中所有的设备都被看成是文件,串行口也不例外也是作为文件来进行处理的。这是我的一份关于串口编程的读书笔记,对于使 用VC进行编程的同行应该有一定的帮助。1.打开串口: 在Windo..
阅读全文
摘要:http://www.cnblogs.com/hanxi/archive/2012/11/04/2753993.html一、C①基本函数实现swap()reverse()void reverse(char s[],int longest){ char c; int i=0; if (longest>1) { for (i=0;i<longest-1;i++) { c=s[i]; s[i]=s[i+1];/* 依次交换数组中相邻的数组元素 */ s[i+1]=c; } longest--; reverse (s,lon...
阅读全文
摘要:API之进程和线程函数CancelWaitableTimer 这个函数用于取消一个可以等待下去的计时器操作CallNamedPipe 这个函数由一个希望通过管道通信的一个客户进程调用ConnectNamedPipe 指示一台服务器等待下去,直至客户机同一个命名管道连接CreateEvent 创建一个事件对象CreateMailslot 创建一个邮路。返回的句柄由邮路服务器使用(收件人)CreateMutex 创建一个互斥体(MUTEX)CreateNamedPipe 创建一个命名管道。返回的句柄由管道的服务器端使用CreatePipe 创建一个匿名管道CreateProcess 创建一个新进程
阅读全文
摘要: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...
阅读全文
摘要:1、编写strcpy函数char *strcpy(char *strDestination, const char *strSource){ assert(strDestination!=NULL && strSource!=NULL); char *strD=strDestination; while ((*strDestination++=*strSource++)!='\0'); return strD;}2、进程间通信的方法:# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指
阅读全文