当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 利用WM_COPYDATAont-
 

 

 ·windows核心编程第一章     »显示摘要«
    摘要:今天修改了一下cmnhdr.h的chhandle_dlgmsg宏,编译通过了。消息处理宏handle_msg只能用于窗口过程,不能用于对话框过程。首先看窗口过程和对话框过程的差别:1.窗口过程返回lresult(即long);对话框过程返回bool(即int,不过vc.net自动生成的代码为lresult。);2.窗口过程处理完一条消息后,一般返回0;而对话框过程一般处理完一条消息后,返回true......
 ·mfc绘图1--使用不同dc     »显示摘要«
    摘要://使用hdc绘图/*hdc hdc;hdc=::getdc(m_hwnd);movetoex(hdc,m_ptorigin.x,m_ptorigin.y,null);lineto(hdc,point.x,point.y);::releasedc(m_hwnd,hdc);*///所有跟窗口相关的操作都被封装在cwnd类中//所有跟绘图相关的操作都被封装在cdc类中//使用cdc绘图/*cdc *p......


【原创】利用WMCOPYDATA实现进程间通信
利用wm_copydata实现进程间通信

【程序编程相关:最近写了一个小的管理软件,其中在LOGO

【推荐阅读:服务程序中如何以当前登陆用户身份运行程序

作者:horisly.

【扩展信息:Windows CE 开发初步

时间:2005年7月21日星期四

 

 

进程间通信的方法有多种,其中,对于少量数据可以用wm_copydata方便的实现通信(如果对于大量数据的话,由于sendmessage是阻塞的,只有接收方响应了消息,sendmessage才能返回,否则则一直阻塞,所以,对于大量数据来说,用sendmessage就容易造成窗口假死) .

本例子分别用wm_copydata 实现了两种数据类型的发送,一种为cstring,另外一种为自定义的结构体student:

//**********************************************************

#pragma pack(1)

struct student {

       char id[10];

       tchar   name[20];

       uint      age;

       uint      grade;

       char room[5];

       char tel[12];

};

#pragma pack()

//**********************************************************

因为需要在接收方的oncopydata()函数中区分发送的两种不同类型数据.所以就定义了以下两个常量:

#define string 1

#define student 2

 

 

发送方:

void csenddatadlg::onbtsend()  //实现cstring类型数据的发送

{

       updatedata(true);

       if (m_szdata.isempty()) {


...   下一页
 ·vc6 的小bug —— fmodf()     »显示摘要«
    摘要:以前写一个程序遇到一个小问题,但是一直没时间把这个问题整理出来。当时的测试程序也早已经不在了,只能重新写一个。bug来源于vc里的数学库。fmodf()函数可以对float型的变量进行取模运算,但是对有些值的有些运算却不能正确表达。可以参照以下这个程序。 #include <math.h>#include <iostream>using namespace std;void......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE