sjorrel Posted August 21, 2006 Share Posted August 21, 2006 (edited) I want to make a minimal system monitoring tool that shows information in an icon in the system tray. If I wanted to make it show one piece of information, such as the CPU%, I could do this by having say 10 icons, and setting the tray icon to be whichever one shows the correct percentage. However, if I wanted to show two pieces of information I would require many more icon files to show all possible combinations, which would be impracticale. What I'd like to do is find a way of combing two smaller pictures (each say 8x16) depending on the information I want to display, and then setting the system tray icon to be that dynamically generated picture. I've had a look for command line image editting software and had no luck. There is something called image magick, but I don't know if it'll do what I want and its over 20mb. I also tried copy /b image1.bmp+image2.bmp image3.bmp which I thought was a long shot and it didn't work. So has anybody got any ideas about how to do this? Or should I be approaching this in a completely different way? Edited August 21, 2006 by sjorrel Link to comment Share on other sites More sharing options...
Xenobiologist Posted August 21, 2006 Share Posted August 21, 2006 Hi, why not using a ToolTip and show it on the screen where you want it to be? Would be much easier to update the tooltip. So long, Mega Scripts & functions Organize Includes Let Scite organize the include files Yahtzee The game "Yahtzee" (Kniffel, DiceLion) LoginWrapper Secure scripts by adding a query (authentication) _RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...) Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc. MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times Link to comment Share on other sites More sharing options...
sjorrel Posted August 21, 2006 Author Share Posted August 21, 2006 I know, but it wouldn't be as pretty Link to comment Share on other sites More sharing options...
sshrum Posted August 21, 2006 Share Posted August 21, 2006 Not sure you can do what your asking the way your asking, however... My only suggestion would be to make seperate EXEs for each of the 'monitoring app' like modules. This way you could make a bunch of different apps and run only the ones you want to use... Create a GUI front end that displays all the 'modules' and launches/quits them Sean Shrum :: http://www.shrum.net All my published AU3-based apps and utilities 'Make it idiot-proof, and someone will make a better idiot' Link to comment Share on other sites More sharing options...
Xenobiologist Posted August 21, 2006 Share Posted August 21, 2006 Hi, would this be pretty? expandcollapse popup#include <GUIConstants.au3> #Include <Date.au3> $hwnd = GUICreate("Text Region",700,250,-1,-1,$WS_POPUP,BitOR($WS_EX_TOPMOST,$WS_EX_TOOLWINDOW)) GUISetBkColor(0x00FF00) Send("#m") GUISetState() While 1 $rgn = CreateTextRgn($hwnd, _Now() ,50,"Arial",1000) SetWindowRgn($hwnd,$rgn) Sleep(500) WEnd Func SetWindowRgn($h_win, $rgn) DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $rgn, "int", 1) EndFunc Func CreateTextRgn(ByRef $CTR_hwnd,$CTR_Text,$CTR_height,$CTR_font="Microsoft Sans Serif",$CTR_weight=1000) Local Const $ANSI_CHARSET = 0 Local Const $OUT_CHARACTER_PRECIS = 2 Local Const $CLIP_DEFAULT_PRECIS = 0 Local Const $PROOF_QUALITY = 2 Local Const $FIXED_PITCH = 1 Local Const $RGN_XOR = 3 If $CTR_font = "" Then $CTR_font = "Microsoft Sans Serif" If $CTR_weight = -1 Then $CTR_weight = 1000 Local $gdi_dll = DLLOpen("gdi32.dll") Local $CTR_hDC= DLLCall("user32.dll","int","GetDC","hwnd",$CTR_hwnd) Local $CTR_hMyFont = DLLCall($gdi_dll,"hwnd","CreateFont","int",$CTR_height,"int",0,"int",0,"int",0, _ "int",$CTR_weight,"int",0,"int",0,"int",0,"int",$ANSI_CHARSET,"int",$OUT_CHARACTER_PRECIS, _ "int",$CLIP_DEFAULT_PRECIS,"int",$PROOF_QUALITY,"int",$FIXED_PITCH,"str",$CTR_font ) Local $CTR_hOldFont = DLLCall($gdi_dll,"hwnd","SelectObject","int",$CTR_hDC[0],"hwnd",$CTR_hMyFont[0]) DLLCall($gdi_dll,"int","BeginPath","int",$CTR_hDC[0]) DLLCall($gdi_dll,"int","TextOut","int",$CTR_hDC[0],"int",0,"int",0,"str",$CTR_Text,"int",StringLen($CTR_Text)) DLLCall($gdi_dll,"int","EndPath","int",$CTR_hDC[0]) Local $CTR_hRgn1 = DLLCall($gdi_dll,"hwnd","PathToRegion","int",$CTR_hDC[0]) Local $CTR_rc = DLLStructCreate("int;int;int;int") DLLCall($gdi_dll,"int","GetRgnBox","hwnd",$CTR_hRgn1[0],"ptr",DllStructGetPtr($CTR_rc)) Local $CTR_hRgn2 = DLLCall($gdi_dll,"hwnd","CreateRectRgnIndirect","ptr",DllStructGetPtr($CTR_rc)) DLLCall($gdi_dll,"int","CombineRgn","hwnd",$CTR_hRgn2[0],"hwnd",$CTR_hRgn2[0],"hwnd",$CTR_hRgn1[0],"int",$RGN_XOR) DLLCall($gdi_dll,"int","DeleteObject","hwnd",$CTR_hRgn1[0]) DLLCall("user32.dll","int","ReleaseDC","hwnd",$CTR_hwnd,"int",$CTR_hDC[0]) DLLCall($gdi_dll,"int","SelectObject","int",$CTR_hDC[0],"hwnd",$CTR_hOldFont[0]) DLLClose($gdi_dll) Return $CTR_hRgn2[0] EndFunc So long, Mega Scripts & functions Organize Includes Let Scite organize the include files Yahtzee The game "Yahtzee" (Kniffel, DiceLion) LoginWrapper Secure scripts by adding a query (authentication) _RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...) Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc. MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times Link to comment Share on other sites More sharing options...
Valuater Posted August 21, 2006 Share Posted August 21, 2006 nice Dll'ing ... mega 8) Link to comment Share on other sites More sharing options...
Xenobiologist Posted August 22, 2006 Share Posted August 22, 2006 nice Dll'ing ... mega8)HI, :"> Larry did that. So long,MegaBut it is never bad to show this in forum, so that other people see it, too. Scripts & functions Organize Includes Let Scite organize the include files Yahtzee The game "Yahtzee" (Kniffel, DiceLion) LoginWrapper Secure scripts by adding a query (authentication) _RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...) Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc. MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times Link to comment Share on other sites More sharing options...
sjorrel Posted August 22, 2006 Author Share Posted August 22, 2006 Hi,would this be pretty?Hmm well its impressive and has a certain appeal, but not in any way what I want 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