Unexpected Behaviour of _ExcelObject_WindowDeactivate

J

JIGNESH

Hi
I am writing an Excel Addin. using VS2008 and .net 3.5
I traped following events
_ExcelObject.WindowActivate += new
Microsoft.Office.Interop.Excel.AppEvents_WindowActivateEventHandler(_ExcelObject_WindowActivate);
_ExcelObject.WindowDeactivate += new
Microsoft.Office.Interop.Excel.AppEvents_WindowDeactivateEventHandler(_ExcelObject_WindowDeactivate);


It was surprized to know that WindowActivate and Deactivate only triggers
when i switch between two excel windows. if i switch to notepad, i expect
Deactivate to be triggered, but its not happening. sameway from notepad if i
switch to excel window, i expect Activate to be tiggered but its not
happening.

This is quite annoying.

Anyone knows the reason and correct way to handle it ?
 
J

Jacob Skaria

Hi Jignesh

--Window Activate and Deactivate events are similar to MDI child window
activate/deactivate OR in other words events within one windows
application/one Process ID.

--What you are looking of is active Application. The GetForegroundWindow
function in .NET returns a handle to the foreground window

Refer http://msdn.microsoft.com/en-us/library/ms633505(VS.85).aspx

If this post helps click Yes
 
J

JIGNESH

Hi Jacob,

I don;t prefer to use Windows API. is there a Add-in way to capture
Activate and deactivate event of Excel Main/Parent MDI Window?

Regards
 
J

Jacob Skaria

Application.Hwnd returns a Long indicating the top-level window handle of the
Microsoft Excel window.

Or try Application.WindowState

If this post helps click Yes
 
J

JIGNESH

Hi Jacob
Application.WindowState only has 3 state, Maximize, Minimize and Normal.
Where as what i am looking at is WindowActivate and WindowDeActivate states.

I think i will go with Application.Hwnd. Now what do i do with it?
I understand idllimport stuff. need calling of WinAPI using
but i hav't use it before. Can you help with an code example or discuss the
steps in sequence (The API i need to call to hook Activate and Deactivate
Events )

Regards

Thanks for help so far.
 
J

JIGNESH

Hi Jacob

Thanks for the link.

In the Link, I believe function like sHook & sUnHook is missing,
Do you have any idea on this ?

Regards
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top