I don't seem to be able to connect to a running instance of Word.
I get the following error :
Traceback (most recent call last):
File "c:\Python24\Lib\site-packages\pyHook\HookManager.py", line 325, in
MouseSwitch
return func(event)
File "D:\DAProject\Workspace\context\inputhook\RDFIO.py", line 122, in
onMouseEvent
self.whatAmIDoin(event)
File "D:\DAProject\Workspace\context\inputhook\RDFIO.py", line 130, in
whatAmIDoin
l_appName = self.getCurrentApplication()
File "D:\DAProject\Workspace\context\inputhook\RDFIO.py", line 62, in
getCurrentApplication
self.wordInfo()
File "D:\DAProject\Workspace\context\inputhook\RDFIO.py", line 81, in wordInfo
l_wobj = win32com.client.Dispatch("Word.Application")
File "c:\Python24\Lib\site-packages\win32com\client\__init__.py", line 95, in
Dispatch
dispatch, userName =
dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
File "c:\Python24\Lib\site-packages\win32com\client\dynamic.py", line 98, in
_GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File "c:\Python24\Lib\site-packages\win32com\client\dynamic.py", line 78, in
_GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx,
pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147417843, 'An outgoing call cannot be made since the
application is dispatching an input-synchronous call.', None, None)
Thanks a million,
Radu.
----- Original Message ----
From: Tim Roberts <[EMAIL PROTECTED]>
To: Python-Win32 List <[email protected]>
Sent: Friday, 24 August, 2007 11:04:02 PM
Subject: Re: [python-win32] get running application handle
Radu Ciora wrote:
> Is it possible to get a handle to a running application like the one I get
> when I explicitly start an application myself using the
> win32com.client.Dispatch("Object.Name")?
>
> Is the one retrieved by win32gui.GetForegroundWindow() the same as the one
> above or not, if not how can I get the handle to a running application object.
>
> I hope I made myself understand.
>
Well, you are confusing several very different constructs there.
What you get back from win32com.client.Dispatch is not a handle at all;
it is a pointer to a COM object. It contains methods and properties
that you can call directly.
What you get back from win32gui.GetForegroundWindow is just a window
handle. You can send window messages to it, but there is nothing there
to call, and there is no connection to any COM objects. In fact, there
is no guarantee that the foreground application offers any COM services
at all.
Having said that, I assume that what you really want to do, for example,
is to connect to a currently running instance of Word. Is that right?
Somewhat surprisingly, this depends on the application. For the Office
products, if you do a Dispatch on Word.Application while Word is
running, you should get a pointer to the existing Word application, and
should be able to manipulate the existing documents. For other
applications, the answer is "it depends".
--
Tim Roberts, [EMAIL PROTECTED]
Providenza & Boekelheide, Inc.
_______________________________________________
python-win32 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-win32
___________________________________________________________
Yahoo! Answers - Got a question? Someone out there knows the answer. Try it
now.
http://uk.answers.yahoo.com/
_______________________________________________
python-win32 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-win32