PDA

View Full Version : how to use WinXP events as triggers



flexi
May 30th, 2006, 12:23 PM
Hi

I am using girder 3.3 and am wondering if there is a way to use windows events to trigger actions. So far i just used IR-Trans events to control my applications.

Example 1:
an incomming call notification window from "MS Office Communicator" or "Windows Messenger" should trigger an event (= event string).

Example 2:
a pop-up window from a browser should trigger an event

Example 3:
a notification window from an application should trigger an event

How can I do this? If this is not working with girder 3.3 does it work with girder 4.x?

Many thanks!

Felix

Promixis
May 30th, 2006, 12:51 PM
Each of these is usually possible, but each situation is unique and requires a different solution. Have you seen the taskcreate and taskswitch plugins?

flexi
May 30th, 2006, 01:07 PM
I do not know these plugins. I have enabled them and restarded girder. untfortunately I did not yet figure out how to use them and how to capture these events. All I get is a TaskSwitch event. But how can I differentiate the different windows?

Sorry, after 2 years I am still a girder newbie (just used it with IR-Trans)

Is there somewhere a documentation for these plugins?

Thank you very much!

Felix

Promixis
May 30th, 2006, 01:16 PM
download and install G4. these plugins are documented there.

flexi
May 31st, 2006, 09:32 AM
I have tried it with G3.3 and G4.

Unfortunately I am not able to trigger commands on MS Office Communicator notification windows. It seems to be neither a taskswitch nor a taskcreate event :-(
Is it possible to trigger a command if a specific window gets visible? With "Command Capture" it is possible to learn the window's name.

I would be very greatful for a detailed description how I could do this.

Thank you very much!

Felix

Promixis
June 1st, 2006, 08:52 AM
some windows do not generate an event when they become visisble... :(

the simplest way around this is to create a timer that checks every second or so. can you post the window name/class here?

flexi
June 1st, 2006, 09:21 AM
ClassName = LCCHiddenWindowClass
Executable = communicator.exe
ChildClass = DirectUIHWND

I will try your idea with the timer. However I have some concerns regarding CPU utilisation...

Since I have your attention, I have another question. I would like to use windows focus as a trigger. I am not sure how to describe this since my english is not very good. I will try to explain it anyway. If a background applications has a user notification its icon in the startbar begins to flash. Is there a way to use this as a trigger?

Thank you very much!

Felix

Promixis
June 1st, 2006, 03:06 PM
i am not aware of way to detect a taskbar icon flashing...

if you read the section of the G4 manual using the gir.CreateTimer stuff and then doing a check for the window using the win.FindWindow functions.

CPU use will be negligable.

flexi
June 2nd, 2006, 06:09 AM
Hi Mike

Finally I was able to detect incoming calls form MS Communicator with the "window exists" action as you sugested. Thanks for your help.

So far I am however using a dirty loop mechanism as I have not yet mastered timers as already mentioned here: http://www.promixis.com/forums/showthread.php?t=14566

My newest chalange now is to detect if the confersation has ended (an event triggered by the conferencing server). In this case Office Communicator automatically closes the Video Window (which is most likely a video overlay). Unfortunately I have no clue on how to "sniff" the fullscreen overlay window's name... any ideas?

Thanks!

In the mean time I will have a deeper look into the timer stuff :-)

Felix

Promixis
June 2nd, 2006, 11:32 AM
i wonder what happens when the overlay is foreground...

you could create a simple timer that uses the the win.GetForegroundWindow command and see if we can determine this. Also might google for it?

flexi
June 2nd, 2006, 12:19 PM
I have soved this one :-)

I can test with "window exists" and then compare the parameters:
Executable=communicator.exe
ChildClass=VIDEORENDERER

Thanks for you support!

Have a nice weekend
Felix