登录
首页 » VC++源码 » VC++ 6.0通过消息机制实现进程间的通信

VC++ 6.0通过消息机制实现进程间的通信

于 2022-10-26 发布 文件大小:40.03 kB
0 201
下载积分: 2 下载次数: 1

代码说明:

VC++ 6.0通过消息机制实现进程间的通信,这个实例写了两个子程序,一个是发送消息端,一个是接收消息端,接收端主要是接收其他进程向该窗口发送的消息,发送消息端获取目的窗口对象,向窗口“MYRECEIVER”发送自定义消息,若接收端没上线,则会使用AfxMessageBox弹出提示("没有找到MYRECEIVER窗口!"),更多源代码细节,请参考压缩包中的对应文件,最终的运行效果请参见截图所示。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • VC++ CFileException异常处理用法范例
    VC++ CFileException异常处理用法范例,   catch(CFileException* e)   {    switch(e->m_cause)    {    case CFileException::fileNotFound:    {    strMessage.Format("打开文件时发生异常(try/catch):    在指定位置没有找到文件%s ",strFile);    AfxMessageBox(strMessage);    TRACE("即将删除捕获到的异常对象CFileException::fileNotFound ");    AfxMessageBox("即将删除捕获到的异常对象CFileException::fileNotFound");    //删除异常对象    e->Delete();    TRACE("成功删除捕获到的异常对象CFileException::fileNotFound ");    AfxMessageBox("成功删除捕获到的异常对象CFileException::fileNotFound");    break;    }    case CFileException::invalidFile:    {    strMessage.Format("打开文件时发生异常(try/catch):    文件%无效 ",strFile);    AfxMessageBox(strMessage);    TRACE("即将删除捕获到的异常对象CFileException::invalidFile ");    AfxMessageBox("即将删除捕获到的异常对象CFileException::invalidFile");    //删除异常对象    e->Delete();    TRACE("成功删除捕获到的异常对象CFileException::invalidFile ");    AfxMessageBox("成功删除捕获到的异常对象CFileException::invalidFile");    break;    }    default:    break;    }   }
    2022-01-26 02:02:12下载
    积分:1
  • 多任务多线程断点续传
    VC++下实现多任务多线程并发可断点续传功能的例程源代码VC++下实现多任务多线程并发可断点续传功能的例程源代码
    2022-03-21 18:31:32下载
    积分:1
  • VC++6.0 窗口过程函数及消息发送、响应测试实例
    VC++6.0 窗口过程函数及消息发送、响应测试实例,在应用程序中窗口过程函数及其消息发送、响应机制的使用,能够方便程序集中处理各类消息,使得整个程序的架构更加合理、清晰。窗口过程函数及其消息发送、响应机制的使用方法:   ⑴自定义消息:   在Resource.h文件中自定义消息:#define WM_MYMSG 2000   ⑵添加窗口过程函数的声明和实现体:   ①在.h文件中添加窗口过程函数声明:   virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);   ②在.cpp文件中添加窗口过程函数实现体:   ⑶发送消息的方式比较:   ①this->SendMessage(WM_MYMSG,0,0);   ②this->PostMessage(WM_MYMSG,0,0);   ③this->SendNotifyMessage(WM_MYMSG,0,0);   这三个函数都可以将指定的消息发送到某个窗口,但是这三种消息的发送方式存在如下的区别:SendMessage立即调用窗口过程函数,而且直到窗口过程函数处理完消息后才返回。PostMessage则是将指定的消息寄送到窗口消息队列后立即返回。对于SendNotifyMessage来说,如果窗口是调用线程创建的,SendNotifyMessage为该窗口调用窗口过程函数,并且等待窗口过程函数处理完消息后才返回;如果窗口是由不同的线程创建的,SendNotifyMessage将指定的消息传给窗口过程函数后立即返回。
    2023-03-05 04:00:03下载
    积分:1
  • VC++ 版 GDI+程序设计实例实例集
    gdiplus应用实例,在网络上广泛流传的“GDI+程序设计实例源代码”中使用的是C#语言,且封装了开源对象,   源代码主要在 “Form1.cs” 中,其功能的实现形式与.Net的MSDN帮助不同。   作者对该源代码进行了移植,在VC的非 UNICODE 环境下进行了修改,主要处理:   1、提供了一个 multibyte 与 widechar 的转化类 CWideCharString    实现 char* 与 WCHAR* 的转换有许多方法,如:    a) CWideCharString(char*) 得到 WCHAR*    b) L"char* string" 得到 WCHAR*    c) 在非UNICODE环境下,CString(WCHAR*) 得到 char*   2、将原C#中的Math、Shell等对象转换为普通的VC函数,如定义了 rand_Next 等。   3、将原C#代码中的new改为VC的引用或指针,避免了在VC中对new的重载和delete的繁杂调用所带来的内存泄漏   4、定义了一组MyDrawString函数,替换原代码中的 graphics.DrawString(...),保持了原C#代码中DrawString的参数顺序和引用方式,增加了两个 _MakeA_RGB 函数   5、因为 Image::Save 要求保存的文件不得存在,而在演示中可能会反复执行Save,所以提供了 MyImageSave 函数,先判断文件是否存在,若存在则删除,然后 Save.   6、为尽可能保持原代码的风格,在 CWalkLtDemo.cpp 的 OnDraw(...) 函数中提供一个void DoGdiplusDemo(...) 函数,该函数负责向各功能演示函数中传递所需要的绘图区和Graphics实例。   7、在主菜单“查看”项下增加了“GDI+功能演示”和“当前演示的源代码”菜单,并在工具条上增加了相应按钮。   8、程序已在VC6和VC++.NET中进行了完全的测试。   本源码包中使用的 gdiplus*.h 中对 Color 和 Point 进行了重新声明,分别为:   GdiPlusColor 和 PointI   为与MSDN中的 Color 和 Point 相一致,在WalkLtDemoHelp.h中使用了 typede
    2023-07-17 07:35:04下载
    积分:1
  • vc 串口接收和发送数据的例子 Cs结构
    这是一个CS结构(包括了服务端和客户端)的串口调试程序,测试时,两者都要运行,本程序可让你熟悉串口的相关操作,在客户端和服务端,您都要定义以下几个参数:   m_Comm.SetCommPort(1); //设置串口   m_Comm.SetRThreshold(1); //设置收到多少个字符后触发OnComm事件   m_Comm.SetPortOpen(TRUE); //打开串口   源码中包括了两部分的代码,请下载后编译对应目录中的源码,先运行客户端。
    2022-02-06 06:48:34下载
    积分:1
  • VC 使用LineDDA画有节点的连线实例
    本源码主要演示使用VC ++中的LineDDA画有节点的连线,画出的效果可参见截图所示。   //画线   pDC->MoveTo(10,10);   pDC->LineTo(300,300);   //使用LineDDA沿线按一定间隔画“0”   //这个回调例程将在线上每个点处被调用   //实现注解:使用lpData传递用于绘图的CDC对象的引用   CDC* pDC;   pDC = (CDC*)lpData;      if( X % 20 ==0)   {    pDC->TextOut(X,Y,_T("0"));   }
    2022-02-19 23:13:45下载
    积分:1
  • VC 重载打开文件对话框,添加删除按钮
    VC++ 重载打开文件对话框,添加删除按钮,实现思路:设置文件对话框的模板为IDD_MYFILEDLG,使用GetPathName();获取选中文件。打开文件对话框是这样实现的:   if( filedlg.DoModal ()==IDOK )//打开文件对话框    {    CString fileName = filedlg.GetFileTitle();    SetWindowText(fileName);    }   以上代码仅是参考,完整的代码文件请自行下载吧。
    2022-02-01 14:41:10下载
    积分:1
  • VC++ 定义3种样式的ComboBox下拉列表框
    VC++ 定义3种样式的ComboBox下拉列表框(组合框),主要是简易式、下拉式、下拉列表式。在简易式或下拉式的编辑框中输入文本,然后点击[
    2022-02-02 08:39:36下载
    积分:1
  • VC++ 删除已存在的存储过程
    VC++ 演示在程序中删除已存在的存储过程,VC6存储过程相关操作实例,删除方法很简单,创建对象,如下代码示:   UpdateData(true);   BOOL result;   ADOConn m_AdoConn;   m_AdoConn.OnInitADOConn();   _bstr_t sql;   sql = "drop procedure "+m_edit+" ";   result = m_AdoConn.ExecuteSQL(sql);   m_AdoConn.ExitConnect();   if(result)    MessageBox("存储过程已删除!");   else    MessageBox("存储过程不存在!");
    2022-12-24 15:50:03下载
    积分:1
  • VC++ 创建生成大文件
    VC创建大文件的例子,这个例子是VC++源码实例,面向VC++6.0运行环境。测试时注意生成的路径,要重新 设置一下,生成文件 不是问题,但生成大文件 往往会导致一系列问题,这个源码的实例向大家介绍如何避免出现这些问题。   // 处理出错信息   //获得信息   LPVOID lpMsgBuf; //Windows will allocate   ::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,0,    GetLastError(),MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), //默认语言    (LPTSTR)&lpMsgBuf, 0, NULL );   //显示   ::MessageBox(0, (LPCTSTR)lpMsgBuf, _T("GetLastError"), MB_OK|MB_ICONINFORMATION );   //lpMsgBuf中是你要的错误提示.   //释放内存   ::LocalFree( lpMsgBuf );   return;
    2022-02-26 16:50:15下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载