- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 吉林大学远程教育课件 Windows A P I编 程 主讲人 : 翟慧杰 学 时:48 (第四十五讲) 函数 BroadcastTransaction是一个自定义的函数,在例13-2中的具体定义如下: 在上述程序段中,函数DdeQueryNextServer用于获得连接列表中的下一个连接句柄。其函数原型定义如下: 如果函数 DdeQueryNextServer返回值不为空,则程序将进入一个 while循环,在 while循环体中定义了一个计数器,用于记录服务器的个数。同时循环体通过函数DdeClientTransaction来开始一个客户事务处理, DdeClientTransaction函数的原型定义如下: 如果服务器不能对客户方的事务进行处理,程序中通过调用函数 DdeAbandonTransaction放弃事务处理并回收所有的资源。函数DdeAbandonTransaction的原型定义如下: 在主窗口的消息处理函数MainwindProc中,处理WM_TIMER消息时还用到了一个DdePostAdvise函数,这个函数将使系统发送一条XTYP_ADVREQ消息给DDE回调函数,DdePostAdvise函数的原型定义如下: 例13-2的核心是 DDE回调函数,本例中定义的回调函数如下: 回调函数参数表中的wType参数用于指定回调类型;hszTopic参数用于指定主题名:参数hszItem比m用于指定主题中的某一项的名称。不难看出,上面的回调函数和消息处理函数有几分相似。 当服务器处理完XTYP_CONNECT事务并返回TRUE时,DDE会话也就开始了。服务器和客户之间的通信实际上都是借助上述的事务类型来实现的。当客户向服务器发送一个请求时,DDE管理库就会用相应的事务类型调用服务器的回调函数。 回调函数接收的事务确定于应用程序在DdeInitialize中指定的回调过滤标志,以及应用程序是否是客户或服务器,还是二者兼是。DDE事务类型如表 13-2所示。 例13-2的源程序 #include windows.h #include ddeml.h #include stdlib.h #include string.h #ifdef UNICODE #define STRICMP wcsicmp #define ITOA(c, sz, b) (itoa(sizeof(szA), szA, b), mbstowcs(sz, szA, b), sz) #else #define STRICMP stricmp #define ITOA itoa #endif //函数声明 HDDEDATA CALLBACK DdeCallback(WORD wType, WORD wFmt, HCONV hConv, HSZ hszTopic, HSZ hszItem, HDDEDATA hData, DWORD lData1, DWORD lData2); VOID PaintDemo(HWND hwnd); LONG APIENTRY MainWndProc(HWND hwnd, UINT message, WPARAM wParam, LONG lParam); VOID BroadcastTransaction(PBYTE pSrc,DWORD cbData,UINT fmt,UINT xtyp); #define BASE_TIMEOUT 100 BOOL fActive; //标识数据是否正在被改变 DWORD idInst = 0; // DDEML对象 HANDLE hInst; //应用程序句柄 HCONVLIST hConvList = 0; //连接列表 HSZ hszAppName = 0; //应用程序名 HWND hwndMain; //主窗口句柄 TCHAR szT[20]; //用于重绘的静态缓冲区句柄 #ifdef UNICODE CHAR szA[20]; //用于UNICODE 转化缓冲区 TCHAR szTitle[] = TEXT(DDEmo (U)); #else TCHAR szTitle[] = TEXT(DDEmo); #endif TCHAR szApp[] = TEXT(DDEmo); // DDE服务名 TCHAR szPau
您可能关注的文档
最近下载
- 定向钻穿越工程施工组织设计.doc VIP
- 2025年节能减排生态环保知识竞赛考试试题(附答案).docx VIP
- 智能网联汽车技术.pdf VIP
- DBJ/T 03-85-2018 市政基础设施工程资料管理规程(城镇道路工程、城市桥梁工程、给水排水管道工程、给水排水构筑物工程) 【压缩版】.pdf VIP
- 教科版八年级物理上册第一章~第二章综合测试题.doc VIP
- 22J403-1 楼梯 栏杆 栏板(一) (3).pdf VIP
- 学前教育学_全套PPT课件.pptx
- 光辉合益-中欧基金高管团队领导力提升项目建议书_20190515.pptx VIP
- 2025年秋新华师大版数学七年级上册全册同步教案.docx
- 《过敏性休克的临床表现与急救处理》课件.ppt VIP
文档评论(0)