| 204 | print "%s: %s" % (item, value) |
| 205 | |
| 206 | def _callback(self, wType, uFmt, hConv, hsz1, hsz2, hDdeData, dwData1, dwData2): |
| 207 | if wType == XTYP_ADVDATA: |
| 208 | from ctypes import byref, create_string_buffer |
| 209 | |
| 210 | dwSize = DWORD(0) |
| 211 | pData = DDE.AccessData(hDdeData, byref(dwSize)) |
| 212 | if pData: |
| 213 | item = create_string_buffer('\000' * 128) |
| 214 | DDE.QueryString(self._idInst, hsz2, item, 128, 1004) |
| 215 | self.callback(pData, item.value) |
| 216 | DDE.UnaccessData(hDdeData) |
| 217 | return DDE_FACK |
| 218 | return 0 |
| 219 | |
| 220 | def WinMSGLoop(): |
| 221 | """Run the main windows message loop.""" |