Shoutbox

Identify and show which computer WLM is running from (simultaneously) - 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: Identify and show which computer WLM is running from (simultaneously) (/showthread.php?tid=95337)

Identify and show which computer WLM is running from (simultaneously) by V@no on 08-27-2010 at 01:01 PM

Hello. I'm sorry if this has been discussed before, couldn't find any related topics.

I'm looking for a way add to the name or PM the name of the location WLM is running from. The name is entered in "Login In" settings at "Rename this place" field (this name is not critical, it can be entered in script itself, not big deal).
The situation is the following: I have main computer and laptop and would like to somehow let everyone in my list know which WLM I'm on right now.

Is MPL! capable provide such information and if possible capture if two WLM are running at the same time?

Thank you.


RE: Identify and show which computer WLM is running from (simultaneously) by matty on 08-27-2010 at 01:08 PM

Plus! doesn't provide this info. However I don't see why it isn't possible. If someone could find the memory address where the data is stored it shouldn't be too hard to do.


RE: Identify and show which computer WLM is running from (simultaneously) by V@no on 08-27-2010 at 11:01 PM

That's unfortunate...what about that notification popup when same account logged in on different computer? Does MPL has any awareness about that?
[EDIT]scratch that, without awareness at any given time if second location is online or not this wouldn't do any good anyway..[/EDIT]

Do you think this feature would be worth requesting for future MPL version?


RE: Identify and show which computer WLM is running from (simultaneously) by V@no on 08-28-2010 at 08:51 AM

Well, for now I'm using a remote server as a ping server, works pretty well, but with little delay.


RE: Identify and show which computer WLM is running from (simultaneously) by CookieRevised on 08-29-2010 at 01:57 PM

That info is stored in the registry in the binary key:
HKEY_CURRENT_USER\Software\Microsoft\MSNMessenger\MachineName

So, it is relative easy to make a basic script which adds this to the user's name.
Only difficult thing is that you need to poll this registry location in case it changes.
Also, you need to take in account that the user can change his/hers name (OnEvent_MyNameChange).


RE: Identify and show which computer WLM is running from (simultaneously) by V@no on 08-29-2010 at 04:18 PM

Thanks for the registry hint.
The thing is, when second wlm with the same account logged in, it will also change the name. Now you end up with two scripts fighting over the "correct" name...
So far the only thing I could think of, is to send account ID along with the computer name to a remote server (and do it, let's say, every minute), and in return the server returns list of computer names that are currently logged in. Based on that return, mpl script updates the name.

[EDIT]
That HKEY_CURRENT_USER\Software\Microsoft\MSNMessenger\MachineName is binary format, it returns an object, what do I do with it?
[EDIT2]
found matty's class, it's working fine for this purpose
http://shoutbox.menthix.net/showthread.php?tid=65...d=718706#pid718706


RE: Identify and show which computer WLM is running from (simultaneously) by CookieRevised on 08-29-2010 at 06:45 PM

For something like this you are not supposed to run Messenger on two different machines at the same time as that wouldn't make sense if you want to identify/show on which machine you are. For that to make any sense, you should only be logged in at one machine at a time.


RE: Identify and show which computer WLM is running from (simultaneously) by V@no on 08-29-2010 at 08:11 PM

mmmm why is that?

Here is what I got so far:
Computer 1:
[Image: desktopnvn.png]

Computer 2:
[Image: laptopn.png]

The result when one or both computers online:
[Image: namebylocation.png]

If "Your name" is changed on one computer, it automatically changed on second computer and vise versa.



I think it's pretty much doable and so far working fine (except for some delays when one computer logs out and people who set custom name for contact won't be able see the changes).
I just wish MPL! would provide information about computers currently logged in under the same account so no external server would required...


RE: Identify and show which computer WLM is running from (simultaneously) by CookieRevised on 08-29-2010 at 09:11 PM

quote:
Originally posted by V@no
mmmm why is that?
because that is how Messenger was designed and what the logic behind the MPOP in Messenger is.

The multiple places of presence chat thingie (MPOP) in Messenger is made in such a way that it doesn't matter where you are; both logged in locations will show you sending and recieving text as if it was just done on one machine. Think of it as being at two machines at the same time, typing at the exact same time and rate, etc.

The result of this is that it makes no sense to only want to show one machine to your contacts. Only showing "V@no - desktop" is then wrong, because as far as Messenger is concerned, you actually are on both machines at the same time. You can't be on machine A (desktop) and not on machine B (laptop); both machines work synchronously as if it was one.

So, it would only make sense when you are not logged in at more then one place at the same time. Then you can perfectly show your contacts the machine you're working on.

---------

To say the same thing in another way:

If you are logged in either on the "desktop" or either on the "laptop", then it makes sense to show "laptop" or "desktop" in your name.

But if you are logged in on the "desktop" _and_ the "laptop" at the same time, it makes no sense to only want to show one machine to your contacts.
Insetad, if you want to show something, you then should be showing "V@no - desktop and laptop". But this can't be done with scripting* because both scripts on the respective machines will conflict with eachother....

Actually, any name/psm/displaypicture/status changing script could result in conflicts and even endless loops (!!) when you're running Messenger on more than one location with the same account....

Hence: you are only supposed to be logged in at one place at a time when you want to show the specific machine you're physically at.

* unless you indeed use an external storage place for this data and retrieve the mahine name(s) from there instead. But this requires polling which is often seen as, or quickly results in, bad programming. But even then, there are times both scripts will conflict with eachother when something changes (the short time beween this polling, retrieving all the logged in machines, showing the result), because both scripts will not act synchronously. Especially because you also need to take in account manual name changes from the user.

---------

bleh, hard to explain though...
RE: Identify and show which computer WLM is running from (simultaneously) by V@no on 08-31-2010 at 11:03 PM

quote:
Originally posted by CookieRevised
If you are logged in either on the "desktop" or either on the "laptop", then it makes sense to show "laptop" or "desktop" in your name.

But if you are logged in on the "desktop" _and_ the "laptop" at the same time, it makes no sense to only want to show one machine to your contacts.
Insetad, if you want to show something, you then should be showing "V@no - desktop and laptop". But this can't be done with scripting* because both scripts on the respective machines will conflict with eachother....
If MPL! would provide this information (about currently logged in places), it could work just fine as both scripts would identify others and do proper name check/change base on that information.

quote:
Originally posted by CookieRevised
Actually, any name/psm/displaypicture/status changing script could result in conflicts and even endless loops (!!) when you're running Messenger on more than one location with the same account....
If you are referring to already existed scripts, then yes, there could be a conflict, unless some precaution was made.

quote:
Originally posted by CookieRevised
* unless you indeed use an external storage place for this data and retrieve the mahine name(s) from there instead. But this requires polling which is often seen as, or quickly results in, bad programming. But even then, there are times both scripts will conflict with eachother when something changes (the short time beween this polling, retrieving all the logged in machines, showing the result), because both scripts will not act synchronously. Especially because you also need to take in account manual name changes from the user.
that is exactly as I have it right now, any name change is automatically update data on server, and at next client's "ping" request the server send out the new name to client, including places currently logged in. Yes, it's not the best solution, but looks like this is the only way to accomplish this without MPL! providing MPOP information. Well, it's working quite nicely for my private usage as you can see on screenshots above :)