KingE Posted August 8, 2005 Share Posted August 8, 2005 Hi, I am trying to write a script to select a minimised application from the windows task bar. I want to right click on its icon and select one of the items from its menu. Cant seem to get this right. What should be the correct set of functions I should be looking at? ie. I am trying to select a icon in this window: Press CTRL-ALT-F to pause the display. >>>>>>>>>>>> Window Details <<<<<<<<<<<<< Title: Class: Shell_TrayWnd Size: X: -2 Y: 738 W: 1028 H: 32 >>>>>>>>>>> Mouse Details <<<<<<<<<<< Screen: X: 691 Y: 759 Cursor ID: 2 >>>>>>>>>>> Pixel Color Under Mouse <<<<<<<<<<< RGB: Hex: 0xABA99D Dec: 11250077 >>>>>>>>>>> Control Under Mouse <<<<<<<<<<< Size: X: 679 Y: 3 W: 270 H: 18 Control ID: ClassNameNN: ToolbarWindow321 Text: Notification Area >>>>>>>>>>> Status Bar Text <<<<<<<<<<< >>>>>>>>>>> Visible Window Text <<<<<<<<<<< Start 07:43 AM Notification Area Running Applications ----- Anyone done this before? Link to comment Share on other sites More sharing options...
LxP Posted August 8, 2005 Share Posted August 8, 2005 Does one of these commands achieve what you want? --WinSetState("Title of Window", "", @SW_RESTORE)WinSetState("Title of Window", "", @SW_MINIMIZE)WinSetState("Title of Window", "", @SW_MAXIMIZE)WinClose("Title of Window") Link to comment Share on other sites More sharing options...
tuape Posted August 8, 2005 Share Posted August 8, 2005 Hi,I am trying to write a script to select a minimised application from the windows task bar.I want to right click on its icon and select one of the items from its menu.Cant seem to get this right.What should be the correct set of functions I should be looking at?ie. I am trying to select a icon in this window:-----Anyone done this before?<{POST_SNAPBACK}>Take a look at Systray_UDF. You can use it to find and click icons. Link to comment Share on other sites More sharing options...
KingE Posted August 8, 2005 Author Share Posted August 8, 2005 Not really, I am trying to right mouse click on an icon in the windows taskbar. The application is already in a minised state. I just dont know how to select th app in the task bar, and then do a right mouse click? Does one of these commands achieve what you want? --WinSetState("Title of Window", "", @SW_RESTORE)WinSetState("Title of Window", "", @SW_MINIMIZE) WinSetState("Title of Window", "", @SW_MAXIMIZE) WinClose("Title of Window")<{POST_SNAPBACK}> Link to comment Share on other sites More sharing options...
LxP Posted August 8, 2005 Share Posted August 8, 2005 Could you please share more detail about what you want to achieve? What do you want to do after you select this minimised application from the taskbar? Link to comment Share on other sites More sharing options...
KingE Posted August 9, 2005 Author Share Posted August 9, 2005 Could you please share more detail about what you want to achieve? What do you want to do after you select this minimised application from the taskbar?<{POST_SNAPBACK}>Hi AlexI am trying to do the following in a script.1.) I want to right click an icon in the taskbar.2.) This will bring up a popup menu.3.) then I want to select on of the items in the menu.Have attached an image. Link to comment Share on other sites More sharing options...
tuape Posted August 9, 2005 Share Posted August 9, 2005 Hi AlexI am trying to do the following in a script.1.) I want to right click an icon in the taskbar.2.) This will bring up a popup menu.3.) then I want to select on of the items in the menu.Have attached an image.<{POST_SNAPBACK}>As said before, take a look at SysTray_UDF. It can do exactly what you want. Link is in my first reply. Link to comment Share on other sites More sharing options...
KingE Posted August 9, 2005 Author Share Posted August 9, 2005 As said before, take a look at SysTray_UDF. It can do exactly what you want. Link is in my first reply.<{POST_SNAPBACK}>Had a look at your link, and tried out one of the examples:_SysTrayIconVisible()When I try and run the autoit script, I get an unknown function error.I dont find this function in the autoit help. Is this an internal autoit function? Link to comment Share on other sites More sharing options...
LxP Posted August 9, 2005 Share Posted August 9, 2005 I believe that the SysTray set of functions requires a beta version of AutoIt, which you can find here. Link to comment Share on other sites More sharing options...
KingE Posted August 9, 2005 Author Share Posted August 9, 2005 Had a look at your link, and tried out one of the examples:_SysTrayIconVisible()When I try and run the autoit script, I get an unknown function error.I dont find this function in the autoit help. Is this an internal autoit function?<{POST_SNAPBACK}>OK. My fault I forgot the include file. Now I am getting a different error.$TBBUTTON = DllStructCreate($str)Unknown Function Link to comment Share on other sites More sharing options...
tuape Posted August 9, 2005 Share Posted August 9, 2005 OK. My fault I forgot the include file. Now I am getting a different error.$TBBUTTONÂ = DllStructCreate($str)Unknown Function<{POST_SNAPBACK}>You still need the beta. Go get it from HERE Link to comment Share on other sites More sharing options...
KingE Posted August 10, 2005 Author Share Posted August 10, 2005 You still need the beta. Go get it from HERE<{POST_SNAPBACK}>OK I downloaded the Beta and installed. Seems a bit better. Have tried example 3 with _SysTrayIconVisible() and example 2 with _SysTrayIconRemove(). And nothing happens.Tried example 5 , "Left-click App's icon on system tray", except I changed the left to a right click. Still doesnt work properly, and this is what looks like happens:1.) Mouse pointer moves to system tray above icon.2.) System tray now opens leftwards to reveal hidden icons.3.) Opened System tray moves the position of the icons to the left.4.) mouse pointer is now above incorrect icon.5.) no menu is opened on mouse click. Link to comment Share on other sites More sharing options...
tuape Posted August 10, 2005 Share Posted August 10, 2005 OK I downloaded the Beta and installed. Seems a bit better. Have tried example 3 with _SysTrayIconVisible() and example 2 with _SysTrayIconRemove(). And nothing happens.Tried example 5 , "Left-click App's icon on system tray", except I changed the left to a right click. Still doesnt work properly, and this is what looks like happens:1.) Mouse pointer moves to system tray above icon.2.) System tray now opens leftwards to reveal hidden icons.3.) Opened System tray moves the position of the icons to the left.4.) mouse pointer is now above incorrect icon.5.) no menu is opened on mouse click.<{POST_SNAPBACK}>Put some sleeptime after step 2. What program are you trying to click? Link to comment Share on other sites More sharing options...
tuape Posted August 10, 2005 Share Posted August 10, 2005 Put some sleeptime after step 2. What program are you trying to click?<{POST_SNAPBACK}>Ok, I just checked it with the latest beta and SysTrayIconTitles() seems to be broken!! When I get home I'll check what's wrong, maybe something has changed in the latest beta.. Link to comment Share on other sites More sharing options...
tuape Posted August 10, 2005 Share Posted August 10, 2005 Ok, it seems that new hWnd handling functions broke this --> hWnd(), isHwnd(). I hope I managed to correct the problem, please download new SysTray_UDF version and let me know how it goes. Link to comment Share on other sites More sharing options...
Valik Posted August 10, 2005 Share Posted August 10, 2005 What specifically is broke? Do you have a simple example of what you think has been broken? Link to comment Share on other sites More sharing options...
tuape Posted August 10, 2005 Share Posted August 10, 2005 Not anymore. I just had to change Dec() to hwnd(), that's all. On previous versions I did compare hwnd's with Dec() Link to comment Share on other sites More sharing options...
Valik Posted August 18, 2005 Share Posted August 18, 2005 Not anymore. I just had to change Dec() to hwnd(), that's all. On previous versions I did compare hwnd's with Dec()<{POST_SNAPBACK}>Here's the "final" analysis.Your code broke because I intentionally broke it, sort of. The change I made to HWND's when converted to strings was to add a leading "0x" to denote hex notation (For internal purposes). Your code broke because Dec() does not handle strings with a leading "0x" as being valid hex strings. This is a bug or lack of feature, either way I hope to see it fixed in the future so that hex strings with or without the leading "0x" are properly converted by 0x. So in short, the fact that your script broke was not really a bug relating to the HWND change because that was meant to happen. It's rather a by-product of Dec() not accepting all valid forms of hex notation.Now, in the process of discovering the above, I found a bug in my HWND code where an HWND could not be concatenated as a string. I've submitted a patch for that (as well as an idea for a fix to Dec). So somehow I managed to find a fix an unrelated bug out of all this which is why I kept pestering you to give me an example so I could satisfy myself that my code wasn't bugged, which it was.Anyway, in the future your old code will probably work again, though it's superfluous now that we have the HWND cast which is the proper way to do things. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now