资源简介
这是我在用作调试DDE的一个程序,最开始时出现与Excel通讯不稳定的现象,这是最终稳定后的程序,如果你正在做DDE,我觉得还是值得参考的。
代码片段和文件信息
// DDEClient.cpp : Defines the entry point for the console application.
//
/*
示例 DDE 客户端
下面的示例使用 Excel 工作簿或 Word 文档的 DDE 主题。
对于 Excel,创建一个新的工作簿 (C:\Test.xls) 包含在单元格 A1 和 A2 中的数据。为 Word,创建新文档 (C:\Test.doc) 包含文本。在文档中文字的选择一些,但不是所有,并创建一个名为 MyBookmark 在该位置的书签。
在 Visual 的 c + + 中创建新 Win32 控制台应用程序名为“DDEClient“。
在应用程序向导,选择 A 简单应用程序,然后单击 完成。
用下列替换代码中 DDEClient.cpp:
使用以下 Word,替换 main 函数中的前 7 行:
char szApp[] = “WINWORD“;
char szTopic[] = “C:\\test.doc“;
char szCmd1[] = “[AppMinimize][EditGoTo Destination:=\“\\EndofDoc\“][InsertPara]“;
char szItem1[] = “\\Doc“; char szDesc1[] = “Document contains: \n“;
char szItem2[] = “MyBookmark“; char szDesc2[] = “MyBookmark contains: \n“;
char szItem3[] = “\\EndofDoc“; char szData3[] = “Data from DDE Client“;
char szCmd2[] = “[FileSave][FileExit(2)]“;
生成,然后运行该应用程序。
使用 Excel,DDE 客户端初始化 DDE 对话的工作簿文件 (C:\Test.xls) 使用的主题,并执行下列操作:
执行 APP.MINIMIZE 的命令。
申请项目 R1C1 和 R2C1 中的数据。请注意,Excel 要求请求项必须以 R1C1 表示法。
pokes R3C1 的数据。
在 $ 粗体中的格式设置 R3C1、 保存了的工作簿并退出 Excel。
使用 Word,DDE 客户端初始化 DDE 对话文档文件 (C:\Test.doc) 使用的主题,并执行下列操作:
执行命令最大限度地减少应用程序、 转到文档的结尾和插入一个新段落。
请求项“\Doc“检索整个文档的内容。请注意该 \Doc 是预定义的书签。
请求项以检索该文本在书签中的“MyBookmark“。
执行命令来保存文档并退出 Word。
*/
#include “stdafx.h“
#include “windows.h“
#include “ddeml.h“
#include “stdio.h“
HDDEDATA CALLBACK DdeCallback(
UINT uType // Transaction type.
UINT uFmt // Clipboard data format.
HCONV hconv // Handle to the conversation.
HSZ hsz1 // Handle to a string.
HSZ hsz2 // Handle to a string.
HDDEDATA hdata // Handle to a global memory object.
DWORD dwData1 // Transaction-specific data.
DWORD dwData2) // Transaction-specific data.
{
return 0;
}
void DDEExecute(DWORD idInst HCONV hConv char* szCommand)
{
HDDEDATA hData = DdeCreateDataHandle(idInst (LPBYTE)szCommand
lstrlen(szCommand)+1 0 NULL CF_TEXT 0);
if (hData==NULL) {
printf(“Command failed: %s\n“ szCommand);
}
else {
DdeClientTransaction((LPBYTE)hData 0xFFFFFFFF hConv 0L 0
XTYP_EXECUTE TIMEOUT_ASYNC NULL);
}
}
void DDERequest(DWORD idInst HCONV hConv char* szItem char* sDesc)
{
HSZ hszItem = DdeCreateStringHandle(idInst szItem 0);
HDDEDATA hData = DdeClientTransaction(NULL0hConvhszItemCF_TEXT
XTYP_REQUEST5000 NULL);
if (hData==NULL)
{
printf(“Request failed: %s\n“ szItem);
}
else
{
char szResult[255];
DdeGetData(hData (unsigned char *)szResult 255 0);
printf(“%s%s\n“ sDesc szResult);
}
}
void DDEPoke(DWORD idInst HCONV hConv char* szItem char* szData)
{
HSZ hszItem = DdeCreateStringHandle(idInst szItem 0);
DdeClientTransaction((LPBYTE)szData (DWORD)(lstrlen(szData)+1)
hConv hszItem
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5548 2010-03-17 18:25 DDEClient(一个DDE和EXcel进行通讯的例子)\DDEClient.cpp
文件 4572 2010-03-17 15:05 DDEClient(一个DDE和EXcel进行通讯的例子)\DDEClient.dsp
文件 526 2010-03-17 15:05 DDEClient(一个DDE和EXcel进行通讯的例子)\DDEClient.dsw
文件 41984 2010-03-17 18:48 DDEClient(一个DDE和EXcel进行通讯的例子)\DDEClient.ncb
文件 48640 2010-03-17 18:48 DDEClient(一个DDE和EXcel进行通讯的例子)\DDEClient.opt
文件 1352 2010-03-17 18:25 DDEClient(一个DDE和EXcel进行通讯的例子)\DDEClient.plg
文件 172122 2010-03-17 18:25 DDEClient(一个DDE和EXcel进行通讯的例子)\Debug\DDEClient.exe
文件 196504 2010-03-17 18:25 DDEClient(一个DDE和EXcel进行通讯的例子)\Debug\DDEClient.ilk
文件 51314 2010-03-17 18:25 DDEClient(一个DDE和EXcel进行通讯的例子)\Debug\DDEClient.obj
文件 187056 2010-03-17 15:08 DDEClient(一个DDE和EXcel进行通讯的例子)\Debug\DDEClient.pch
文件 435200 2010-03-17 18:25 DDEClient(一个DDE和EXcel进行通讯的例子)\Debug\DDEClient.pdb
文件 1894 2010-03-17 15:08 DDEClient(一个DDE和EXcel进行通讯的例子)\Debug\StdAfx.obj
文件 132096 2010-03-17 18:25 DDEClient(一个DDE和EXcel进行通讯的例子)\Debug\vc60.idb
文件 233472 2010-03-17 18:25 DDEClient(一个DDE和EXcel进行通讯的例子)\Debug\vc60.pdb
文件 1226 2010-03-17 15:05 DDEClient(一个DDE和EXcel进行通讯的例子)\ReadMe.txt
文件 296 2010-03-17 15:05 DDEClient(一个DDE和EXcel进行通讯的例子)\StdAfx.cpp
文件 667 2010-03-17 15:05 DDEClient(一个DDE和EXcel进行通讯的例子)\StdAfx.h
目录 0 2010-03-17 18:25 DDEClient(一个DDE和EXcel进行通讯的例子)\Debug
目录 0 2010-03-17 18:48 DDEClient(一个DDE和EXcel进行通讯的例子)
----------- --------- ---------- ----- ----
1514469 19
- 上一篇:0-10V模拟量调光实现方法介绍
- 下一篇:IEEE32位浮点数转换工具含源码
相关资源
- LabVIEW读取Excel文件中的值
- txt转excel
- nc65导入excel代码
- EXCEL自动筛选源代码程序
- excel电子表格练习题
- GridView导出到Excel
- 一键生成带有所有文件名的Excel表格
- EXCEL发货单开单软件
- excel万年历简版
- Excel—“撤销工作表保护密码”的破解
- 华为项目管理10大模板excel
- CATIA 3D点坐标快速导出EXCEL(适用任何
- Office机器人2.1.752.268
- as3解析excel2010
-
Openem
bedded User Manual .pdf - 全国县区级经纬度EXCEL表
- flex导入excel2007版本以上并支持日期格
- 可汗学院 normal distribution.xls 正态分布
- Excel题库刷题工具excel内容查找
- Excel固定资产管理系统
- R语言可视化八种基本图形的语句汇总
- Excel规划求解自带插件
- Unity3D读取Excel工具
- Labview读取Excel表格到数组中,并获取
- 足球联赛Excel计分表
- IFIX 报表 例程
- 读取Excel批量获取地址经纬度
- Excel右键修复工具
- 红蓝坐标轴Excel图表
- CAD:excel 批量画矩形
评论
共有 条评论