Thanks for the replies so far.
I have played a little bit with the clipboard code, and I found the ctypes code snippet reproduced this message. I have tweaked this a little bit and was going to use this to set the clipboard text across processes.
The thing that I can't figure out is how to have a service that waits on the clipboard - i.e., has a function that is called when the clipboard changes. I was then going to look at the text on the clipboard to dtermine whether I should replace any of it.
VanL
------------------------------------ from: <http://aspn.activestate.com/ASPN/Mail/Message/ctypes-users/1771866>
I was going to use this to set the clipboard text across processes
from ctypes import * from win32con import CF_TEXT, GHND
OpenClipboard = windll.user32.OpenClipboard EmptyClipboard = windll.user32.EmptyClipboard GetClipboardData = windll.user32.GetClipboardData SetClipboardData = windll.user32.SetClipboardData CloseClipboard = windll.user32.CloseClipboard GlobalLock = windll.kernel32.GlobalLock GlobalAlloc = windll.kernel32.GlobalAlloc GlobalUnlock = windll.kernel32.GlobalUnlock memcpy = cdll.msvcrt.memcpy
def GetClipboardText(): text = "" if OpenClipboard(c_int(0)): hClipMem = GetClipboardData(c_int(CF_TEXT)) GlobalLock.restype = c_char_p text = GlobalLock(c_int(hClipMem)) GlobalUnlock(c_int(hClipMem)) CloseClipboard() return text
def SetClipboardText(text): buffer = c_buffer(text) bufferSize = sizeof(buffer) hGlobalMem = GlobalAlloc(c_int(GHND), c_int(bufferSize)) GlobalLock.restype = c_void_p lpGlobalMem = GlobalLock(c_int(hGlobalMem)) memcpy(lpGlobalMem, addressof(buffer), c_int(bufferSize)) GlobalUnlock(c_int(hGlobalMem)) if OpenClipboard(0): EmptyClipboard() SetClipboardData(c_int(CF_TEXT), c_int(hGlobalMem)) CloseClipboard()
_______________________________________________ Python-win32 mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/python-win32