##// END OF EJS Templates
Fix bug: https://bugs.launchpad.net/ipython/+bug/269966 This fixes a long-standing and serious problem with long-running IPython sessions. Finally! Many thanks to John D. Hunter and Sameer D'Costa for the feedback, especially for Sameer's patch that finally put me on the right track for a clean solution.

File last commit:

r1243:92aa0c13
r1856:2f5ba090
Show More
scitedirector.py
26 lines | 806 B | text/x-python | PythonLexer
import win32api
import win32gui
import win32con
import struct
import array
def findWindows():
ret = []
sdi = win32api.RegisterWindowMessage("SciTEDirectorInterface")
w = win32gui.GetWindow(win32gui.GetDesktopWindow(), win32con.GW_CHILD)
while w:
res = win32gui.SendMessage(w, sdi, 0, 0)
if res == sdi:
ret.append(w)
w = win32gui.GetWindow(w, win32con.GW_HWNDNEXT)
return ret
def sendCommand(w, message):
CopyDataStruct = "IIP"
char_buffer = array.array('c', message)
char_buffer_address = char_buffer.buffer_info()[0]
char_buffer_size = char_buffer.buffer_info()[1]
cds = struct.pack(CopyDataStruct, 0, char_buffer_size, char_buffer_address)
win32gui.SendMessage(w, win32con.WM_COPYDATA, 0, cds)