MessengerToTray - Printable Version
-Shoutbox (https://shoutbox.menthix.net)
+-- Forum: MsgHelp Archive (/forumdisplay.php?fid=58)
+--- Forum: Messenger Plus! for Live Messenger (/forumdisplay.php?fid=4)
+---- Forum: Scripting (/forumdisplay.php?fid=39)
+----- Thread: MessengerToTray (/showthread.php?tid=96847)
MessengerToTray by Speeder on 02-16-2011 at 05:29 PM
Hello everyone!
I've created a script that places WLM back into the tray from the taskbar on Windows 7.
The script will only work on Win7 and WLM2009 and WLM2011.
Known glitches:
- Log-in animation doesn't always run
WLM2011:
- Does not hide the log-in window when it's minimized (it would cause bugs)
- Extra "More Statuses" submenu
Please disable the Compatibility Mode setting while using the script.
Current version: 1.0 Beta 5
RE: MessengerToTray by Chris4 on 02-17-2011 at 02:34 AM
Well... After importing the script, Windows Explorer has crashed and closed, meaning I have no taskbar. Any attempt to bring up Task Manager results in an Application Error.
Edit: Task Manager came up eventually after closing all windows.
Windows 7, WLM 2011.
RE: MessengerToTray by Kafman on 02-17-2011 at 03:06 AM
It's working fine here, Windows 7 and WLM 2009
RE: MessengerToTray by Speeder on 02-17-2011 at 05:55 AM
Thank you for your replies.
Chris, can you please look into your event viewer (Start -> eventvwr)?
You need to look for the red error icons about this problem in the event viewer.
It'd be nice if you sent me the information you find there plus any memory dumps that might have been created of the crash.
Thank you
RE: MessengerToTray by dezio on 02-17-2011 at 12:58 PM
Very nice script! I love it Thank you...
There are no seen disadvatanges yet.
RE: MessengerToTray by Speeder on 02-17-2011 at 01:47 PM
I'm happy you like it.
Can you please post what version of Messenger are you using it on?
RE: MessengerToTray by Mystical on 02-18-2011 at 12:41 PM
Hello Speeder!
This is the debug info:
code: Function called: OnEvent_ContactListWndCreated
Bad calling convention detected for "MessengerWindow" in "C:\Program Files\Yuna Software\Messenger Plus!\WLM-Scripts\MessengerToTray Beta\MessengerTrayHelper.dll". The function must be declared with __stdcall and called with the appropriate number of parameter.
Function called: OnEvent_ContactListWndDestroyed
Bad calling convention detected for "MessengerWindow" in "C:\Program Files\Yuna Software\Messenger Plus!\WLM-Scripts\MessengerToTray Beta\MessengerTrayHelper.dll". The function must be declared with __stdcall and called with the appropriate number of parameter.
Use wlm '09 and plus 5.
What do you think?
This apart, the script is good! I like it..
RE: MessengerToTray by Speeder on 02-18-2011 at 01:14 PM
Thank you for your reply, Mystical. The script is updated and that error is fixed.
About box should write 1.0 Beta 2.
RE: MessengerToTray by Menthix on 02-18-2011 at 01:55 PM
quote: Originally posted by Speeder
The script is updated and that error is fixed. About box should write 1.0 Beta 2.
I see you removed beta from the name and moved it to the version. Which is good. But because of that both versions will run side by side. People who had the first version should manually remove it, otherwise they'll get 2 tray icons. I though it was a bug at first .
This is why you want to change to name of a script as little as possible, preferably never.
EDIT:
Otherwise is is working fine for me. Nice script, I know a lot of people want this feature, and running Messenger in Vista compatibility mode has been reported to cause problems before, so this is a great solution.
Only thing, the tray menu has 'Lock Messenger' in it. Locking Messenger does not hide your tray icon, which defeats the purpose of locking Messenger in a lot of cases. Would be nice if the tray icon could change to the icon configured by Messenger Plus! in that case.
Windows 7 Home Premium x64 (6.1.7600)
Windows Live Messenger 15.4.1109
Messenger Plus! 5.00.0.702
RE: MessengerToTray by matty on 02-18-2011 at 01:59 PM
There is a tag in the script info folder called <InstallDir> which will let you specify the folder you want to install to. This way you can keep installing to the same directory but changing the name of the script.
But as Menthix said this shouldn't be done if it can be avoided.
RE: MessengerToTray by Speeder on 02-18-2011 at 02:01 PM
Whooops
To be honest I already have the version info added to my build lines and just wrote the "Beta" in before upload by hand
Looks like I should be more careful indeed...
Thanks again for the comment.
RE: MessengerToTray by Mystical on 02-18-2011 at 02:09 PM
I think Speeder should add an auto / simple updater to the script...And problem solved.
RE: MessengerToTray by Menthix on 02-18-2011 at 02:11 PM
quote: Originally posted by Mystical
add an auto / simple updater to the script
Just submit your scripts to the site and you automagically have an auto-update. Although submitting scripts and skins is disabled at the moment while some issues with the new site are resolved. But it should be back soon.
RE: MessengerToTray by Speeder on 02-18-2011 at 02:46 PM
I will wait some more with uploading the script. Hence why it is in beta.
Chris4 still hasn't posted any reports about his issue either. Even though I don't think my script would be able to cause an Explorer crash, I'd like to check into his error to see what the actual problem was.
And yes, I don't want to code any updater myself if it's already implemented into Plus.
I'm surprised about the lack of new feature suggestions and/or glitch reports up till now though!
RE: MessengerToTray by Spunky on 02-18-2011 at 03:00 PM
I loved this idea the moment I saw it in the other thread. Not something I think I'd use unless I was trying to forget the fact I was on Messenger (I have a tendency to shut ALL non-essential programs down - And also have a nearly clear desktop ).
I will try it out tonight. Is it something we could turn on and off with a command or does it screw up the icon/menu?
EDIT: If it works well, you'll be the first script in my showcase at http://spunkylm.co.uk/blog/ and I'll even do a video demonstration to post on youtube
RE: MessengerToTray by Speeder on 02-18-2011 at 03:10 PM
It's as simple as enabling / disabling the script. I took care to make sure that the script initializes and turns itself off cleanly. Except of course for any possible Plus! memory leak of course.
RE: RE: MessengerToTray by Ugosan on 02-18-2011 at 03:14 PM
quote: Originally posted by Speeder
Even though I don't think my script would be able to cause an Explorer crash, I'd like to check into his error to see what the actual problem was.
Explorer crashes also for me on Windows 7 SP1 and WLM 2011 after importing this script.
I get these errors, too:
In the Event Viewer there are many errors with different modname:
code: Nome dell'applicazione che ha generato l'errore: taskhost.exe, versione: 6.1.7601.17514, timestamp: 0x4ce78ca9
Nome del modulo che ha generato l'errore: MessengerTrayHelper.dll, versione: 0.0.0.0, timestamp: 0x4d5e6eab
Codice eccezione: 0xc0000005
Offset errore 0x00001486
ID processo che ha generato l'errore: 0x77c
Ora di avvio dell'applicazione che ha generato l'errore: 0x01cbcf6530fe6832
Percorso dell'applicazione che ha generato l'errore: C:\Windows\system32\taskhost.exe
Percorso del modulo che ha generato l'errore: C:\Program Files\Yuna Software\Messenger Plus!\WLM-Scripts\MessengerToTray\MessengerTrayHelper.dll
ID segnalazione: 598d67ac-3b6f-11e0-8e6b-0016366ad241
code: Nome dell'applicazione che ha generato l'errore: WerFault.exe, versione: 6.1.7600.16385, timestamp: 0x4a5bc2d9
Nome del modulo che ha generato l'errore: MessengerTrayHelper.dll, versione: 0.0.0.0, timestamp: 0x4d5e6eab
Codice eccezione: 0xc0000005
Offset errore 0x00001486
ID processo che ha generato l'errore: 0x158
Ora di avvio dell'applicazione che ha generato l'errore: 0x01cbcf7c1bd1d8ca
Percorso dell'applicazione che ha generato l'errore: C:\Windows\system32\WerFault.exe
Percorso del modulo che ha generato l'errore: C:\Program Files\Yuna Software\Messenger Plus!\WLM-Scripts\MessengerToTray\MessengerTrayHelper.dll
ID segnalazione: 5a04bc2f-3b6f-11e0-8e6b-0016366ad241
code: Nome dell'applicazione che ha generato l'errore: wlcomm.exe, versione: 15.4.3508.1109, timestamp: 0x4cda5f30
Nome del modulo che ha generato l'errore: MessengerTrayHelper.dll, versione: 0.0.0.0, timestamp: 0x4d5e6eab
Codice eccezione: 0xc0000005
Offset errore 0x00001486
ID processo che ha generato l'errore: 0xa48
Ora di avvio dell'applicazione che ha generato l'errore: 0x01cbcf7bfd983f2e
Percorso dell'applicazione che ha generato l'errore: C:\Program Files\Windows Live\Contacts\wlcomm.exe
Percorso del modulo che ha generato l'errore: C:\Program Files\Yuna Software\Messenger Plus!\WLM-Scripts\MessengerToTray\MessengerTrayHelper.dll
ID segnalazione: 617d394d-3b6f-11e0-8e6b-0016366ad241
code: Nome dell'applicazione che ha generato l'errore: Explorer.EXE, versione: 6.1.7601.17514, timestamp: 0x4ce796f3
Nome del modulo che ha generato l'errore: MessengerTrayHelper.dll, versione: 0.0.0.0, timestamp: 0x4d5e6eab
Codice eccezione: 0xc0000005
Offset errore 0x00001486
ID processo che ha generato l'errore: 0x70
Ora di avvio dell'applicazione che ha generato l'errore: 0x01cbcf653143701a
Percorso dell'applicazione che ha generato l'errore: C:\Windows\Explorer.EXE
Percorso del modulo che ha generato l'errore: C:\Program Files\Yuna Software\Messenger Plus!\WLM-Scripts\MessengerToTray\MessengerTrayHelper.dll
ID segnalazione: 61abc3f0-3b6f-11e0-8e6b-0016366ad241
Details:
code: <Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2011-02-18T14:58:19.000000000Z" />
<EventRecordID>3010</EventRecordID>
<Channel>Application</Channel>
<Computer>Ugo-PC</Computer>
<Security />
</System>
<EventData>
<Data>Explorer.EXE</Data>
<Data>6.1.7601.17514</Data>
<Data>4ce796f3</Data>
<Data>MessengerTrayHelper.dll</Data>
<Data>0.0.0.0</Data>
<Data>4d5e6eab</Data>
<Data>c0000005</Data>
<Data>00001486</Data>
<Data>70</Data>
<Data>01cbcf653143701a</Data>
<Data>C:\Windows\Explorer.EXE</Data>
<Data>C:\Program Files\Yuna Software\Messenger Plus!\WLM-Scripts\MessengerToTray\MessengerTrayHelper.dll</Data>
<Data>8552d1c0-3b6f-11e0-8e6b-0016366ad241</Data>
</EventData>
</Event>
code: Nome dell'applicazione che ha generato l'errore: explorer.exe, versione: 6.1.7601.17514, timestamp: 0x4ce796f3
Nome del modulo che ha generato l'errore: MessengerTrayHelper.dll, versione: 0.0.0.0, timestamp: 0x4d5e6eab
Codice eccezione: 0xc0000005
Offset errore 0x00001486
ID processo che ha generato l'errore: 0xc5c
Ora di avvio dell'applicazione che ha generato l'errore: 0x01cbcf7c48c19651
Percorso dell'applicazione che ha generato l'errore: C:\Windows\explorer.exe
Percorso del modulo che ha generato l'errore: C:\Program Files\Yuna Software\Messenger Plus!\WLM-Scripts\MessengerToTray\MessengerTrayHelper.dll
ID segnalazione: 86931e69-3b6f-11e0-8e6b-0016366ad241
Details:
code: <Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2011-02-18T14:58:21.000000000Z" />
<EventRecordID>3014</EventRecordID>
<Channel>Application</Channel>
<Computer>Ugo-PC</Computer>
<Security />
</System>
<EventData>
<Data>explorer.exe</Data>
<Data>6.1.7601.17514</Data>
<Data>4ce796f3</Data>
<Data>MessengerTrayHelper.dll</Data>
<Data>0.0.0.0</Data>
<Data>4d5e6eab</Data>
<Data>c0000005</Data>
<Data>00001486</Data>
<Data>c5c</Data>
<Data>01cbcf7c48c19651</Data>
<Data>C:\Windows\explorer.exe</Data>
<Data>C:\Program Files\Yuna Software\Messenger Plus!\WLM-Scripts\MessengerToTray\MessengerTrayHelper.dll</Data>
<Data>86931e69-3b6f-11e0-8e6b-0016366ad241</Data>
</EventData>
</Event>
code: Nome dell'applicazione che ha generato l'errore: taskmgr.exe, versione: 6.1.7601.17514, timestamp: 0x4ce78d21
Nome del modulo che ha generato l'errore: MessengerTrayHelper.dll, versione: 0.0.0.0, timestamp: 0x4d5e6eab
Codice eccezione: 0xc0000005
Offset errore 0x00001486
ID processo che ha generato l'errore: 0x6fc
Ora di avvio dell'applicazione che ha generato l'errore: 0x01cbcf7c38c87f38
Percorso dell'applicazione che ha generato l'errore: C:\Windows\system32\taskmgr.exe
Percorso del modulo che ha generato l'errore: C:\Program Files\Yuna Software\Messenger Plus!\WLM-Scripts\MessengerToTray\MessengerTrayHelper.dll
ID segnalazione: 85c0d76d-3b6f-11e0-8e6b-0016366ad241
code: Nome dell'applicazione che ha generato l'errore: taskeng.exe, versione: 6.1.7601.17514, timestamp: 0x4ce79261
Nome del modulo che ha generato l'errore: MessengerTrayHelper.dll, versione: 0.0.0.0, timestamp: 0x4d5e6eab
Codice eccezione: 0xc0000005
Offset errore 0x00001486
ID processo che ha generato l'errore: 0xebc
Ora di avvio dell'applicazione che ha generato l'errore: 0x01cbcf7c3c1285e1
Percorso dell'applicazione che ha generato l'errore: C:\Windows\system32\taskeng.exe
Percorso del modulo che ha generato l'errore: C:\Program Files\Yuna Software\Messenger Plus!\WLM-Scripts\MessengerToTray\MessengerTrayHelper.dll
ID segnalazione: 8693939b-3b6f-11e0-8e6b-0016366ad241
RE: MessengerToTray by Speeder on 02-18-2011 at 03:21 PM
I see, thank you for your feedback.
Can you explain how exactly did you produce this error?
Can I contact you in PM about generating a memory dump of this issue so I can analyze this crash better?
I'm wondering now how the heck did my DLL get loaded into explorer... Any Plus wizards know the details of how scripts are loaded?
RE: RE: MessengerToTray by Ugosan on 02-18-2011 at 03:24 PM
quote: Originally posted by Speeder
I see, thank you for your feedback.
Can you explain how exactly did you produce this error?
The first time I imported the script the problem appeared immediatley. If I can reproduce it, I will make a screencast
quote: Originally posted by Speeder
Can I contact you in PM about generating a memory dump of this issue so I can analyze this crash better?
Sure, tell me what I have to do
RE: MessengerToTray by CookieRevised on 02-18-2011 at 05:24 PM
quote: Originally posted by Speeder
I'm wondering now how the heck did my DLL get loaded into explorer... Any Plus wizards know the details of how scripts are loaded?
I'm just guessing (I'm no wizard), but isn't it Explorer which controls the taskbar and system tray? (Kill all explorer processes and you'll see you're desktop and taskbar being removed).
As such, manipulating the system tray is actually manipulating Explorer's memory space/process (maybe not technically correct, but for the lack of better explaination). And if you make an error in that space (eg: reading/writing to a memory page which is locked), Explorer will crash.
RE: MessengerToTray by Spunky on 02-18-2011 at 05:54 PM
quote: Originally posted by CookieRevised
I'm just guessing (I'm no wizard), but isn't it Explorer which controls the taskbar and system tray?
Yes, I think anything that can manipulate the task bar, system tray or other feature can potentially crash explorer if something goes wrong. Can't check which APIs the script uses until I get home, but I'll give it a once over DLL ¬_¬ lol
quote: Originally posted by Spunky
Only thing, the tray menu has 'Lock Messenger' in it. Locking Messenger does not hide your tray icon, which defeats the purpose of locking Messenger in a lot of cases. Would be nice if the tray icon could change to the icon configured by Messenger Plus! in that case.
It changes to magnifying glass for me... Don't know if it's been updated since
RE: MessengerToTray by Speeder on 02-19-2011 at 10:52 AM
Yes, the problem is fixed, thanks to Ugosan.
It was not in connection to any Explorer manipulation, just my lack of proper reading of hook behaviour.
I will create a new optimized version later though, which is lighter on the system. (Not that the current should be noticable)
EDIT: Oh and please go to the messenger locking settings in Messenger Plus to edit what the tray icon should do when locking it.
RE: MessengerToTray by Mystical on 02-20-2011 at 08:53 AM
Hello Speeder!
New error discovered:
code: Function called: OnEvent_Uninitialize
Interop.Call failed to load "C:\Program Files\Yuna Software\Messenger Plus!\WLM-Scripts\MessengerToTray\MessengerTrayHelper.dll"
Error: unknown (code: -2147467259)
File: Messenger to Tray.js. Line: 57.
Function OnEvent_Uninitialize returned an error. Code: -2147352567
Script has been stopped
Script is starting
Script is now loaded and ready
Function called: OnEvent_Initialize
Interop.Call failed to load "C:\Program Files\Yuna Software\Messenger Plus!\WLM-Scripts\MessengerToTray\MessengerTrayHelper.dll"
Error: unknown (code: -2147467259)
File: Messenger to Tray.js. Line: 51.
Function OnEvent_Initialize returned an error. Code: -2147352567
Messenger '11 and plus 5.
RE: MessengerToTray by Speeder on 02-20-2011 at 10:06 AM
Hi Mystical,
Can you notice any visible effect with those errors?
When getting the error on the Uninitialize, does the tray icon stay? Can you check if the DLL file keeps being locked?
When the Initialize fails, do you still get the tray icon? Does the menu work?
Can I contact you in a PM to resolve this issue?
RE: MessengerToTray by Mystical on 02-20-2011 at 10:36 AM
I never get the tray icon...
I get this debug info, and I don't get the tray icon.
I don't know what is the problem.
RE: MessengerToTray by Speeder on 02-20-2011 at 04:00 PM
Updated MessengerToTray in the first post. This is just an optimization of the previous version for WLM2011 users. Please update
RE: MessengerToTray by Mystical on 02-22-2011 at 05:33 PM
Hello Speeder!
I tested it...Work perfectly!(with plus 5 and wlm '11)
RE: MessengerToTray by ZrednaZ on 02-22-2011 at 09:20 PM
Very nice script. Ought to be a standard feature of Plus!.
RE: MessengerToTray by Mystical on 02-23-2011 at 06:32 PM
I think you should be add Hotkeys for open / hide messenger main.
RE: RE: MessengerToTray by Arcticwolfx on 02-23-2011 at 06:55 PM
quote: Originally posted by Mystical
I think you should be add Hotkeys for open / hide messenger main.
Have you learned about the Messenger Lock feature in Messenger Plus! ?
It essentially does what you're asking for, however with even more possibilities should you so desire.. Check it out it you haven't yet!
RE: MessengerToTray by matty on 02-23-2011 at 07:04 PM
I think Mystical wants the ability of opening and closing the Contact List window with a hotkey not necessarily locking it.
RE: MessengerToTray by Arcticwolfx on 02-23-2011 at 07:06 PM
quote: Originally posted by matty
I think Mystical wants the ability of opening and closing the Contact List window with a hotkey not necessarily locking it.
Using the hotkey only, wouldn't this do the same thing?
Just tested it, enabling the option to use Messenger Lock with a hotkey (Ctrl+Space in my case) and un-checking all the other boxes would result for my Messenger Window to hide and reappear every time I pressed it.
Or am I still misunderstanding something?
RE: MessengerToTray by matty on 02-23-2011 at 08:18 PM
quote: Originally posted by Arcticwolfx
quote: Originally posted by matty
I think Mystical wants the ability of opening and closing the Contact List window with a hotkey not necessarily locking it.
Using the hotkey only, wouldn't this do the same thing?
Just tested it, enabling the option to use Messenger Lock with a hotkey (Ctrl+Space in my case) and un-checking all the other boxes would result for my Messenger Window to hide and reappear every time I pressed it.
Or am I still misunderstanding something?
He wants to mimic clicking the X and double clicking the icon by the use of a hotkey. Your suggestion would work in essence but he wants to close the window not just hide it from what I gather.
Speeder, good job on the script. All that you are doing in the DLL you could do within the script itself. It would take a lot of advanced scripting. (You would have to inject ASM into the process to do all the subclassing you are doing.)
RE: MessengerToTray by Speeder on 02-23-2011 at 08:31 PM
Actually I'm using a hook not subclassing since there are many windows that are created and destroyed much of the time that I need to handle for features. (WLM2011 or toast windows...)
I wrote the DLL for performance reasons - so my hook was quick. The DLL only installs thread-specific hooks now, so it should have no performance hit on the system itself. I prefer C++ over JavaScript anyways, especially for WinAPI.
I'm open to implementing features over the current basic stuff, but if you want one implemented, please explain what you want precisely. In the case of Mystical's request, it seems so far to be basically the same thing as what the lock feature can do, so I'm not really up for that one.
What I was thinking about was adding options to open Plus settings for example, but I don't know of any standard way I could do so however. (In WLM2009, no window is guaranteed to be opened that I could send the proper WM_COMMAND message to for example.) If someone can tell me how I should communicate with Plus! for such menu features, please say.
Does anyone know when the script upload will work again on the site? Looks like this script can be released from the lack of error reports lately.
P.S.: I haven't written previously but middle-clicking on the tray icon does auto-login
RE: RE: MessengerToTray by V@no on 02-24-2011 at 12:39 AM
quote: Originally posted by Speeder
P.S.: I haven't written previously but middle-clicking on the tray icon does auto-login
And there seems to be a bug with that feature - when already logged in and middle click on icon, the icon changes to "signing in" type (blue/green changes places), and that icon stays there until wlm restarted, or manually re-login. (WLM 2009 on W7 x64)
If I may, would you mind add into this topic title the current version and date it was updated, if not too much trouble? It would help keep track if there is a new version or not.
Thank you.
RE: MessengerToTray by Speeder on 02-24-2011 at 06:01 AM
Alright, fixed that problem. Added the current version into my post.
RE: MessengerToTray by Mystical on 02-24-2011 at 12:45 PM
I Want if i press ex: crtl+o then open the Contact List window and if i press ex: crtl+h then hide the Contact List window (not exit the msn).
Is feasible?
RE: MessengerToTray by Speeder on 02-24-2011 at 01:39 PM
You mean you want that not to hide your conversation windows, only to open or close the contact list?
Suppose it's feasible, but I wouldn't like adding global hotkeys like that into the system without a configuration interface. And of course I'm too lazy to create a configuration interface
If you want that feature, please create a hotkey setup window script. I'll add the feature then.
RE: MessengerToTray by CookieRevised on 02-24-2011 at 05:15 PM
quote: Originally posted by Speeder
quote: Originally posted by Mystical
I Want if i press ex: crtl+o then open the Contact List window and if i press ex: crtl+h then hide the Contact List window (not exit the msn).
Is feasible?
You mean you want that not to hide your conversation windows, only to open or close the contact list?
Suppose it's feasible, but I wouldn't like adding global hotkeys like that into the system without a configuration interface. And of course I'm too lazy to create a configuration interface
If you want that feature, please create a hotkey setup window script. I'll add the feature then.
This is not my script, but if it was I would not add something like that to it either.
It is not the purpose of this script imho, and there are more than enough scripts which provide stuff like hotkeys. Moreover, showing and hiding Messenger with a hotkey is the exact thing which the already existing Messenger Lock feature does.
A script like this should, imo, just doing what it needs to do and that's it. That's exactly the power and appeal of such scripts: small, fast and to the point, without any bells and whistles which maybe 90% of all people would never use (and for those other 10% there are plenty of other (bloated) scripts).
RE: MessengerToTray by Speeder on 02-24-2011 at 05:25 PM
I'm fine with that option as well. Heheh
RE: MessengerToTray by Mystical on 02-24-2011 at 06:26 PM
okay Speeder ... you leave this idea...
|