Knowledge (XXG)

Dynamic Data Exchange

Source 📝

22: 242:
developed an extension for DDE called NetDDE that could be used to initiate and maintain the network connections needed for DDE conversations between DDE-aware applications running on different computers in a network and transparently exchange data. A DDE conversation is an interaction between client
197:
was known to DDE by its "application" name. Each application could further organize information by groups known as "topic" and each topic could serve up individual pieces of data as an "item". For example, if a user wanted to pull a value from Microsoft Excel which was contained in a spreadsheet
198:
called "Book1.xls" in the cell in the first row and first column, the application would be "Excel", the topic "Book1.xls" and the item "r1c1". Internal changes in the cell due to Excel actions would then be signaled (in reverse) to the calling application via additional message broadcasts.
170:(Remote Procedure Call). At the time, the only method for communication between the operating system and client applications was the "Windows Messaging Layer." DDE extended this protocol to allow peer-to-peer communication among client applications, via message broadcasts. 222:
object model, which is the recommended method for communicating with Excel. The technique is, however, still in use, particularly for distribution of financial data. Because DDE does not require more operating system components than a conventional Windows
184:
Moreover, any code managing a window handle can respond to a DDE broadcast; the initiator of DDE must distinguish between expected and unexpected responses. DDE interlocutors usually express what information they seek in terms of hierarchical
543: 1410: 206:
The common use of DDE is for custom-developed applications to control off-the-shelf software. For example, a custom in-house application might use DDE to open a
167: 142:. DDE allows programs to manipulate objects provided by other programs, and respond to user actions affecting those objects. DDE was partially superseded by 1415: 944: 210:
spreadsheet and fill it with data, by opening a DDE conversation with Excel and sending it DDE commands. This feature has mainly been superseded by the
534: 903: 617: 1282: 1133: 893: 39: 410: 918: 908: 883: 433: 391: 1405: 1027: 1186: 1078: 1050: 977: 653: 360: 1277: 1254: 105: 86: 58: 1315: 1229: 949: 803: 340:. However, this will not prevent existing versions of NetDDE from being installed and functioning on later versions of Windows. 1239: 612: 582: 1331: 1272: 992: 65: 43: 1143: 228: 1267: 1138: 1128: 1116: 527: 143: 72: 1379: 1292: 1244: 454: 243:
and server applications. NetDDE could be used along with DDE and the DDE management library (DDEML) in applications.
1121: 888: 855: 689: 305:. In addition, Wonderware also sold an enhanced version of NetDDE to their own customers that included support for 163: 131: 54: 32: 1111: 913: 830: 607: 602: 577: 1088: 876: 840: 178: 1374: 1359: 1336: 1083: 1073: 1007: 520: 1040: 1035: 1017: 987: 845: 557: 354: 298: 211: 147: 1224: 1219: 772: 684: 587: 173:
Because DDE runs via message broadcasts, it is vulnerable to any window-management code that does not
1106: 808: 757: 658: 597: 174: 1181: 1164: 1065: 972: 711: 329: 79: 465: 441: 418: 752: 592: 395: 190: 186: 1364: 1234: 1176: 1002: 782: 736: 135: 835: 721: 371: 322: 716: 480: 314: 207: 194: 502: 497: 1196: 1055: 777: 648: 366: 294: 219: 1399: 1310: 1300: 1214: 1098: 967: 898: 731: 726: 337: 336:
Service Pack 2, although it was disabled by default. It has been removed entirely in
166:
so that one program could communicate with or control another program, somewhat like
1369: 1012: 318: 214:
suite of technologies. Microsoft has not used DDE internally since the release of
177:. This problem was not considered during the design of DDE, because DDE predates 1354: 1262: 997: 701: 643: 638: 512: 159: 21: 297:
only) version of the product for inclusion in various versions of Windows from
982: 923: 787: 706: 333: 302: 239: 215: 1384: 119: 146:(OLE), and is currently maintained in Windows systems only for the sake of 227:
program, it is also a alternative for programs seeking to minimize their
767: 567: 562: 1209: 1204: 1169: 1045: 871: 813: 762: 679: 663: 349: 158:
Dynamic Data Exchange was first introduced in 1987 with the release of
823: 696: 507: 306: 850: 310: 508:
Clojure Bindings for DDE, for use in Clojure or Java Applications
939: 818: 622: 572: 139: 516: 1148: 224: 15: 455:
Joel Spolsky - comment on Fog Creek Software discussion forum
411:"Why are there broadcast-based mechanisms in Windows?" 1345: 1324: 1291: 1253: 1195: 1157: 1097: 1064: 1026: 958: 932: 864: 796: 745: 672: 631: 550: 313:field. Basic Windows applications using NetDDE are 46:. Unsourced material may be challenged and removed. 218:. For example, Excel now exposes an extensive 202:Relationship to modern automation technologies 528: 8: 1411:Microsoft application programming interfaces 309:. The technology is extensively used in the 1187:Security Support Provider Interface (SSPI) 535: 521: 513: 466:NetDDE has been removed in Windows Vista. 106:Learn how and when to remove this message 618:Windows Advanced Rasterization Platform 498:MSDN: About Dynamic Data Exchange (DDE) 383: 613:DirectX Graphics Infrastructure (DXGI) 7: 434:"Please feel free to stop using DDE" 44:adding citations to reliable sources 1416:Windows communication and services 1079:Microsoft Foundation Classes (MFC) 1051:Distributed Component Object Model 361:Distributed Component Object Model 14: 284:(Network DDE - DDE Communication) 20: 328:NetDDE was still included with 275:(Network DDE NetBIOS Interface) 31:needs additional citations for 1089:Windows Template Library (WTL) 1: 1084:Active Template Library (ATL) 804:Data Access Components (MDAC) 544:Microsoft APIs and frameworks 483:. "Dynamic Data Exchange" in 432:Chen, Raymond (26 Feb 2007). 409:Chen, Raymond (27 Jun 2005). 392:"Net DDE to DOT NET Remoting" 394:. 2006-01-12. Archived from 293:Microsoft licensed a basic ( 144:Object Linking and Embedding 1406:Inter-process communication 1380:Multilingual User Interface 1306:Dynamic Data Exchange (DDE) 1432: 485:Programming for Windows 95 164:interprocess communication 134:used in early versions of 132:interprocess communication 831:Extensible Storage Engine 608:Windows Imaging Component 603:Windows Image Acquisition 288:The NetDDE library files 278:     269:     260:     251:     179:pre-emptive multitasking 154:History and architecture 1375:Language Interface Pack 1360:Text Services Framework 1074:Framework Class Library 55:"Dynamic Data Exchange" 1018:Common Log File System 846:Access Database Engine 558:Desktop Window Manager 355:Component Object Model 299:Windows for Workgroups 212:Component Object Model 189:keys. For example, a 181:in Microsoft Windows. 148:backward compatibility 130:) is a technology for 1346:Text and multilingual 266:(NDDEAPI Server Side) 124:Dynamic Data Exchange 1332:Active Accessibility 598:Windows Color System 40:improve this article 1370:Input method editor 1182:Data Protection API 973:Windows Script Host 712:Image Mastering API 330:Windows Server 2003 257:(DDE Share Manager) 1268:Enterprise Library 1255:Software factories 959:Administration and 889:Filtering Platform 690:Video Acceleration 487:. Microsoft Press. 1393: 1392: 1365:Text Object Model 1177:Windows CardSpace 1003:Windows Installer 737:Video for Windows 438:The Old New Thing 415:The Old New Thing 249:/Windows/SYSTEM32 136:Microsoft Windows 116: 115: 108: 90: 1423: 978:WMI (extensions) 836:Entity Framework 722:Media Foundation 573:D3D (extensions) 537: 530: 523: 514: 468: 463: 457: 452: 446: 445: 440:. Archived from 429: 423: 422: 417:. Archived from 406: 400: 399: 388: 372:Observer pattern 323:Microsoft Hearts 286: 111: 104: 100: 97: 91: 89: 48: 24: 16: 1431: 1430: 1426: 1425: 1424: 1422: 1421: 1420: 1396: 1395: 1394: 1389: 1347: 1341: 1320: 1287: 1249: 1191: 1153: 1093: 1060: 1028:Component model 1022: 1008:Error Reporting 960: 954: 928: 860: 792: 783:SideBar Gadgets 741: 717:Managed DirectX 668: 627: 551:Graphics and UI 546: 541: 494: 481:Charles Petzold 477: 472: 471: 464: 460: 453: 449: 444:on 15 Mar 2019. 431: 430: 426: 421:on 16 Dec 2009. 408: 407: 403: 390: 389: 385: 380: 346: 315:Clipbook Viewer 291: 290: 287: 277: 268: 259: 250: 248: 237: 208:Microsoft Excel 204: 195:Microsoft Excel 162:as a method of 156: 112: 101: 95: 92: 49: 47: 37: 25: 12: 11: 5: 1429: 1427: 1419: 1418: 1413: 1408: 1398: 1397: 1391: 1390: 1388: 1387: 1382: 1377: 1372: 1367: 1362: 1357: 1351: 1349: 1343: 1342: 1340: 1339: 1334: 1328: 1326: 1322: 1321: 1319: 1318: 1313: 1308: 1303: 1297: 1295: 1289: 1288: 1286: 1285: 1280: 1275: 1270: 1265: 1259: 1257: 1251: 1250: 1248: 1247: 1242: 1237: 1232: 1227: 1222: 1217: 1212: 1207: 1201: 1199: 1193: 1192: 1190: 1189: 1184: 1179: 1174: 1173: 1172: 1161: 1159: 1155: 1154: 1152: 1151: 1146: 1141: 1136: 1131: 1126: 1125: 1124: 1119: 1109: 1103: 1101: 1099:Device drivers 1095: 1094: 1092: 1091: 1086: 1081: 1076: 1070: 1068: 1062: 1061: 1059: 1058: 1056:.NET Framework 1053: 1048: 1043: 1038: 1032: 1030: 1024: 1023: 1021: 1020: 1015: 1010: 1005: 1000: 995: 990: 988:Task Scheduler 985: 980: 975: 970: 964: 962: 956: 955: 953: 952: 947: 942: 936: 934: 930: 929: 927: 926: 921: 916: 911: 906: 901: 896: 891: 886: 884:Winsock Kernel 881: 880: 879: 868: 866: 862: 861: 859: 858: 853: 848: 843: 841:Sync Framework 838: 833: 828: 827: 826: 821: 816: 811: 800: 798: 794: 793: 791: 790: 785: 780: 775: 770: 765: 760: 755: 749: 747: 743: 742: 740: 739: 734: 729: 724: 719: 714: 709: 704: 699: 694: 693: 692: 687: 676: 674: 670: 669: 667: 666: 661: 656: 651: 649:DirectX plugin 646: 641: 635: 633: 629: 628: 626: 625: 620: 615: 610: 605: 600: 595: 590: 585: 580: 575: 570: 565: 560: 554: 552: 548: 547: 542: 540: 539: 532: 525: 517: 511: 510: 505: 500: 493: 492:External links 490: 489: 488: 476: 473: 470: 469: 458: 447: 424: 401: 398:on 2010-11-11. 382: 381: 379: 376: 375: 374: 369: 367:Microsoft .NET 364: 358: 352: 345: 342: 295:NetBIOS Frames 246: 245: 236: 233: 220:OLE Automation 203: 200: 155: 152: 114: 113: 28: 26: 19: 13: 10: 9: 6: 4: 3: 2: 1428: 1417: 1414: 1412: 1409: 1407: 1404: 1403: 1401: 1386: 1383: 1381: 1378: 1376: 1373: 1371: 1368: 1366: 1363: 1361: 1358: 1356: 1353: 1352: 1350: 1344: 1338: 1337:UI Automation 1335: 1333: 1330: 1329: 1327: 1325:Accessibility 1323: 1317: 1314: 1312: 1309: 1307: 1304: 1302: 1299: 1298: 1296: 1294: 1290: 1284: 1281: 1279: 1276: 1274: 1271: 1269: 1266: 1264: 1261: 1260: 1258: 1256: 1252: 1246: 1243: 1241: 1238: 1236: 1233: 1231: 1228: 1226: 1223: 1221: 1218: 1216: 1213: 1211: 1208: 1206: 1203: 1202: 1200: 1198: 1194: 1188: 1185: 1183: 1180: 1178: 1175: 1171: 1168: 1167: 1166: 1163: 1162: 1160: 1156: 1150: 1147: 1145: 1142: 1140: 1137: 1135: 1132: 1130: 1127: 1123: 1120: 1118: 1115: 1114: 1113: 1110: 1108: 1105: 1104: 1102: 1100: 1096: 1090: 1087: 1085: 1082: 1080: 1077: 1075: 1072: 1071: 1069: 1067: 1063: 1057: 1054: 1052: 1049: 1047: 1044: 1042: 1039: 1037: 1034: 1033: 1031: 1029: 1025: 1019: 1016: 1014: 1011: 1009: 1006: 1004: 1001: 999: 996: 994: 993:Offline Files 991: 989: 986: 984: 981: 979: 976: 974: 971: 969: 968:Win32 console 966: 965: 963: 957: 951: 948: 946: 945:Telephony API 943: 941: 940:Messaging API 938: 937: 935: 933:Communication 931: 925: 922: 920: 917: 915: 912: 910: 907: 905: 902: 900: 899:Windows Rally 897: 895: 892: 890: 887: 885: 882: 878: 875: 874: 873: 870: 869: 867: 863: 857: 854: 852: 849: 847: 844: 842: 839: 837: 834: 832: 829: 825: 822: 820: 817: 815: 812: 810: 807: 806: 805: 802: 801: 799: 795: 789: 786: 784: 781: 779: 776: 774: 771: 769: 766: 764: 761: 759: 756: 754: 751: 750: 748: 744: 738: 735: 733: 732:Windows Media 730: 728: 725: 723: 720: 718: 715: 713: 710: 708: 705: 703: 700: 698: 695: 691: 688: 686: 685:Media Objects 683: 682: 681: 678: 677: 675: 671: 665: 662: 660: 657: 655: 652: 650: 647: 645: 642: 640: 637: 636: 634: 630: 624: 621: 619: 616: 614: 611: 609: 606: 604: 601: 599: 596: 594: 591: 589: 586: 584: 581: 579: 576: 574: 571: 569: 566: 564: 561: 559: 556: 555: 553: 549: 545: 538: 533: 531: 526: 524: 519: 518: 515: 509: 506: 504: 501: 499: 496: 495: 491: 486: 482: 479: 478: 474: 467: 462: 459: 456: 451: 448: 443: 439: 435: 428: 425: 420: 416: 412: 405: 402: 397: 393: 387: 384: 377: 373: 370: 368: 365: 362: 359: 356: 353: 351: 348: 347: 343: 341: 339: 338:Windows Vista 335: 331: 326: 324: 320: 316: 312: 308: 304: 300: 296: 289: 285: 281: 276: 272: 267: 263: 258: 254: 244: 241: 234: 232: 230: 226: 221: 217: 213: 209: 201: 199: 196: 192: 188: 182: 180: 176: 175:pump messages 171: 169: 165: 161: 153: 151: 149: 145: 141: 137: 133: 129: 125: 121: 110: 107: 99: 88: 85: 81: 78: 74: 71: 67: 64: 60: 57: –  56: 52: 51:Find sources: 45: 41: 35: 34: 29:This article 27: 23: 18: 17: 1305: 1273:Composite UI 758:RSS Platform 484: 461: 450: 442:the original 437: 427: 419:the original 414: 404: 396:the original 386: 327: 292: 283: 279: 274: 270: 265: 261: 256: 252: 247: 238: 229:dependencies 205: 183: 172: 157: 127: 123: 117: 102: 93: 83: 76: 69: 62: 50: 38:Please help 33:verification 30: 1355:DirectWrite 1263:EFx Factory 1220:Silverlight 998:Shadow Copy 797:Data access 702:DirectInput 644:DirectSound 639:DirectMusic 588:Silverlight 160:Windows 2.0 1400:Categories 1165:Crypto API 983:PowerShell 961:management 924:DirectPlay 865:Networking 788:TypeScript 707:DirectShow 673:Multimedia 659:Speech API 578:GDI / GDI+ 378:References 334:Windows XP 303:Windows XP 240:Wonderware 216:Windows 95 66:newspapers 1385:Uniscribe 1066:Libraries 1013:Event Log 168:Sun's RPC 120:computing 96:July 2011 1311:Remoting 1215:Remoting 1158:Security 768:VBScript 568:Direct3D 563:Direct2D 344:See also 271:NDDENB32 262:NDDEAPIR 253:DDESHARE 1348:support 1210:ADO.NET 1205:ASP.NET 1170:CAPICOM 1046:ActiveX 909:P2P API 872:Winsock 814:ADO.NET 763:JScript 680:DirectX 664:XAudio2 475:Sources 350:ActiveX 319:WinChat 80:scholar 919:MS MPI 824:OLE DB 753:MSHTML 697:Xinput 503:NetDDE 363:(DCOM) 307:TCP/IP 280:NETDDE 235:NetDDE 187:string 82:  75:  68:  61:  53:  1301:MSRPC 851:MSXML 632:Audio 593:WinUI 357:(COM) 311:SCADA 282:.EXE 273:.DLL 264:.EXE 255:.EXE 87:JSTOR 73:books 1197:.NET 1134:NDIS 1129:WDDM 1122:UMDF 1117:KMDF 1041:COM+ 914:MSMQ 904:BITS 894:NDIS 819:ODBC 654:XACT 623:WinG 332:and 321:and 231:. 191:cell 140:OS/2 138:and 59:news 1316:WCF 1293:IPC 1283:CSF 1278:CCF 1240:WPF 1235:WCS 1230:WCF 1225:TPL 1149:VxD 1144:BDA 1139:UAA 1112:WDF 1107:WDM 1036:COM 950:WCF 877:LSP 856:OPC 809:ADO 778:XDR 773:BHO 746:Web 727:XNA 583:WPF 301:to 225:GUI 193:in 128:DDE 118:In 42:by 1402:: 1245:WF 436:. 413:. 325:. 317:, 150:. 122:, 536:e 529:t 522:v 126:( 109:) 103:( 98:) 94:( 84:· 77:· 70:· 63:· 36:.

Index


verification
improve this article
adding citations to reliable sources
"Dynamic Data Exchange"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
computing
interprocess communication
Microsoft Windows
OS/2
Object Linking and Embedding
backward compatibility
Windows 2.0
interprocess communication
Sun's RPC
pump messages
pre-emptive multitasking
string
cell
Microsoft Excel
Microsoft Excel
Component Object Model
Windows 95
OLE Automation
GUI

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.