1. a "code wanted" page?
- Posted by useless Jul 17, 2011
- 1987 views
Is there a "code wanted" page on Euphorum somewhere?
I still need a way to get the popup text from a systray icon. The app has no taskbar tab, no window opens, winxp's tasklist shows no change in the app data from one popup txt to the next (as the app's condition changes), neither does Greg Haberek window monitor.
I would like to know what text would pop up if i moused over the icon, but from inside an Eu app, without popping up the taskbar/systray or moving the mouse. Sending mousemove msgs to all the icons seems reasonable, but i still do not know how to get the systray's icon list, it's icon's names, or how to send each of them a msg, or how to get the popup txt back (especially not showing onscreen the popup).
useless
2. Re: a "code wanted" page?
- Posted by petelomax Jul 18, 2011
- 1859 views
I still need a way to get the popup text from a systray icon.
Do you really want that or do you just want to get rid of them?
3. Re: a "code wanted" page?
- Posted by petelomax Jul 18, 2011
- 1848 views
FWIW, this code works with Phix/Arwen, but may take some massaging to work with Eu/Win32lib
-- cleanup code atom hWnd = 0 procedure fw(sequence class, object name) hWnd = c_func(xFindWindowEx,{hWnd,0,class,name}) end procedure fw("Shell_TrayWnd", 0) fw("TrayNotifyWnd", 0) fw("SysPager", 0) fw("ToolbarWindow32", "Notification Area") constant pRect = allocate(sizeof(RECT)) void = c_func(xGetClientRect,{hWnd,pRect}) integer w = peek4u(pRect+8) constant hh = floor(peek4u(pRect+12)/2) constant hhs = hh*#10000 free(pRect) while w>0 do void = c_func(xSendMessage,{hWnd, WM_MOUSEMOVE, hhs+w, 0}) w -= hh end while
You will probably need to allocate_string() class and non-atom name, and sizeof(RECT) will be something different. Also, xFindWindow/xGetClientRect/xSendMessage may be something else namewise and need to be called via w32Func(), iirc.
HTH,
Pete
PS There was a mention that "Notification Area" might need localisation, not sure how you'd do that though.
4. Re: a "code wanted" page?
- Posted by useless Jul 18, 2011
- 1808 views
I still need a way to get the popup text from a systray icon.
Do you really want that or do you just want to get rid of them?
The app changes the popup text on the systray icon as it goes thru it's startup, and presumeably it's failure modes, but i have not had failure on it yet. So the app can be running, the real window on the screen is unchanged, but the popup text when mousing over the systray icon will change. I need to know when it says "Connected...".
That said, i still need to get rid of ghost icons after taskkill has terminated the app.
useless
5. Re: a "code wanted" page?
- Posted by mattlewis (admin) Jul 19, 2011
- 1776 views
I still need a way to get the popup text from a systray icon.
Do you really want that or do you just want to get rid of them?
The app changes the popup text on the systray icon as it goes thru it's startup, and presumeably it's failure modes, but i have not had failure on it yet. So the app can be running, the real window on the screen is unchanged, but the popup text when mousing over the systray icon will change. I need to know when it says "Connected...".
From looking around, it looks like this sort of thing is triggered by some event, whether external (mouse over) or based on whatever the program is doing. And then the program throws up the notification. I don't think it's sitting there, queued up or anything where you could peek at it.
I'd guess that in order to do what you're looking to do, you'd probably need to periodically check to see if you could find the notification window. Though I don't know that you could read the text off of it anyways. I suspect you'll have to find another way to find out what's going on.
Matt
6. Re: a "code wanted" page?
- Posted by ne1uno Jul 28, 2011
- 1775 views
try this
Shell Tray Info - Arrange your system tray icons http://www.codeproject.com/KB/applications/ShellTrayInfo.aspx if you need a codeproject ID and don't want to register, use bugmenot.
there is an executable and a source zip the program puts up a window that lists the icons and their tooltips you can rearrange and refresh the systray. parts of it could be wrapped to do what you want directly. although, as Matt pointed out, without a mouse move, there may be no reason for the program to update the tooltip so the info may already be stale by the time the GUI has displayed the info. there is more than one way to put icons in the notification area. this program claims it is XP only. search on spy++ to find other programs that can get this info.