What happened to the Messenger Plus! forums on msghelp.net?
Shoutbox » MsgHelp Archive » Messenger Plus! for Live Messenger » WLM Plus! General » Temporarily remove desktop contacts

Pages: (2): « First [ 1 ] 2 » Last »
Temporarily remove desktop contacts
Author: Message:
aC23
Junior Member
**

Avatar

Posts: 34
– / Male / –
Joined: Jun 2004
O.P. Temporarily remove desktop contacts
Sorry if this was already suggested, but it would be nice to have a feature that lets you temporarily take off all of your contacts from the desktop

i.e when playing a game, the icons still appear on your desktop, forcing you to either:

1. Close MSN competely
2. remove the contacts and be obliged to put them back on one by one when you're done.

So let's say if i were to change my status to Busy, the desktop icons would disappear until i change my status again.
08-21-2005 01:45 AM
Profile E-Mail PM Find Quote Report
Val
Senior Member
****

Avatar

Posts: 698
Reputation: 45
31 / Other / Flag
Joined: Jun 2004
RE: Temporarily remove desktop contacts
quote:
Originally posted by aC23
Sorry if this was already suggested, but it would be nice to have a feature that lets you temporarily take off all of your contacts from the desktop

i.e when playing a game, the icons still appear on your desktop, forcing you to either:

1. Close MSN competely
2. remove the contacts and be obliged to put them back on one by one when you're done.

So let's say if i were to change my status to Busy, the desktop icons would disappear until i change my status again.


Thats pretty cool MSGplus sould have to :) maybe stuffplug will make it
Menthix:
Anonymous doesn\'t have a leader.
Anonymous is the leader of ShawnZ.

Max:
True. But deep down, we all know.
ShawnZ is incharge.
he is /b/ in human form.
08-21-2005 02:49 AM
Profile PM Web Find Quote Report
cardshark
Junior Member
**

Avatar
Insanity at its Finest

Posts: 88
Reputation: 3
40 / Male / –
Joined: Apr 2005
RE: Temporarily remove desktop contacts
Actually, if you use the privacy protection feature, it takes the contacts off the desktop. True, you won't know if you've gotten a message until you unlock Messenger, but it works if you don't care about missing messages (since you probably wouldn't want to be bothered while fullscreen anyway). However, I still agree that it would be a nice feature to have, just in case you go fullscreen but still want to be able to receive messages and all.
08-24-2005 12:06 AM
Profile E-Mail PM Find Quote Report
uberdosis
Full Member
***

Avatar
digital evil

Posts: 189
Reputation: -14
37 / Male / –
Joined: Nov 2004
RE: Temporarily remove desktop contacts
Don't have it showing on top of everything ?
right click on the contact on the desktop > change display settings > un-tick 'always on top'
[Image: skav.jpg]
08-24-2005 12:33 AM
Profile E-Mail PM Find Quote Report
ShawnZ
Veteran Member
*****

Avatar

Posts: 3146
Reputation: 43
32 / Male / Flag
Joined: Jan 2003
RE: Temporarily remove desktop contacts
then he has to do it for each one, and renable them when he's done, so its the same as deleting them :undecided:
Spoiler:
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
the game.
08-24-2005 12:46 AM
Profile PM Web Find Quote Report
Concord Dawn
Veteran Member
*****

Avatar
This is a loopy fruit.

Posts: 1203
Reputation: 16
34 / Male / –
Joined: Feb 2004
RE: Temporarily remove desktop contacts
quote:
Originally posted by ShawnZ
then he has to do it for each one, and renable them when he's done, so its the same as deleting them :undecided:

Erm, there should be a button to enable/disable Desktop Contacts, does that not do what you want?
[Image: 7.png]
08-24-2005 12:48 AM
Profile E-Mail PM Find Quote Report
CookieRevised
Elite Member
*****

Avatar

Posts: 15517
Reputation: 173
– / Male / Flag
Joined: Jul 2003
Status: Away
RE: RE: Temporarily remove desktop contacts
quote:
Originally posted by Concord Dawn
quote:
Originally posted by ShawnZ
then he has to do it for each one, and renable them when he's done, so its the same as deleting them :undecided:

Erm, there should be a button to enable/disable Desktop Contacts, does that not do what you want?

no there is no such button.

-----------

Anways, as cardshark has already suggested, make a Boss Protection Scheme in Messenger Plus! and activate it when you run the full screen game. This is the best you can do and will act exactly as you wish.

This post was edited on 08-24-2005 at 02:30 AM by CookieRevised.
.-= A 'frrrrrrrituurrr' for Wacky =-.
08-24-2005 02:29 AM
Profile PM Find Quote Report
matty
Scripting Guru
*****


Posts: 8336
Reputation: 109
39 / Male / Flag
Joined: Dec 2002
Status: Away
RE: Temporarily remove desktop contacts
If anyone wants to do this here is VB6 Code that will do so.

code:
Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Public Const SW_HIDE = 0
Public Const SW_NORMAL = 1
Public NumOfFloatingWindows As Long
Public Floating_hWnd() As Long
Public Function CallBack(ByVal hwnd As Long, ByVal lpData As Long) As Long
   Dim lResult As Long
   Dim sWndName As String
   Dim sClassName As String
   Dim nWindowHandle As String
   CallBack = 1
   sClassName = Space(260)
   sWndName = Space(260)
   lResult = GetClassName(hwnd, sClassName, 260)
   sClassName = Left$(sClassName, lResult)
   lResult = GetWindowText(hwnd, sWndName, 260)
   sWndName = Left$(sWndName, lResult)
   If LCase$(sClassName) = "msgplusfloatingwindow" Then
       ReDim Preserve Floating_hWnd(NumOfFloatingWindows)
       Floating_hWnd(NumOfFloatingWindows) = FindWindow("msgplusfloatingwindow", sWndName)
       ShowWindow Floating_hWnd(NumOfFloatingWindows), SW_HIDE
       NumOfFloatingWindows = NumOfFloatingWindows + 1
   End If
End Function
Public Function HideFloatingWindows() As Boolean
   Dim hwnd As Long
   EnumWindows AddressOf CallBack, hwnd
End Function
Public Function ShowFloatingWindows()
   For j = NumOfFloatingWindows - 1 To 0 Step -1
       DoEvents
       ShowWindow Floating_hWnd(j), SW_NORMAL
   Next
End Function


to hide the windows
code:
HideFloatingWindows

and to show them
code:
ShowFloatingWindows
08-24-2005 02:49 AM
Profile E-Mail PM Find Quote Report
CookieRevised
Elite Member
*****

Avatar

Posts: 15517
Reputation: 173
– / Male / Flag
Joined: Jul 2003
Status: Away
RE: Temporarily remove desktop contacts
I took the liberty to fix (it doesn't work) and improve Matty's code.... sorry matty ;) :p


code:
Option Explicit

Private Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hWnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long

Private Const SW_HIDE = 0
Private Const SW_SHOWNA = 8

' The callback function. This MUST be in a normal module (not a class module)
Private Function CallBack(ByVal hWnd As Long, ByVal lParam As Long) As Long
   Dim lResult As Long
   Dim sClassName As String * 260
   
   lResult = GetClassName(hWnd, sClassName, Len(sClassName))
   If LCase$(Left$(sClassName, lResult)) = "msgplusfloatingwindow" Then
       If lParam Then
           ShowWindow hWnd, SW_SHOWNA
       Else
           ShowWindow hWnd, SW_HIDE
       End If
   End If
   
   CallBack = True
   
End Function


' Two seperate public procedures to show and hide the windows
Public Sub ShowFloatingWindows()
   EnumWindows AddressOf CallBack, True
End Sub
Public Sub HideFloatingWindows()
   EnumWindows AddressOf CallBack, False
End Sub


' Only one public procedure which can do both (with optional parameter)
'    To show windows: FloatingWindowsState True
'    To hide windows: FloatingWindowsState False
'    If the (true/false) parameter is omitted it will also show the windows

Public Sub FloatingWindowsState(Optional State As Boolean = True)
   EnumWindows AddressOf CallBack, State
End Sub


Note 1: as you can see you don't need the two seperate procedures, you can do it with one also. It depends on what you prefer I assume...

To make the code even shorter you can also do this
code:
If LCase$(Left$(sClassName, lResult)) = "msgplusfloatingwindow" Then
    ShowWindow hWnd, -lParam * 8
End If
In that way you don't even need the private constants anymore and the code gets even smaller (because there is no need for the second IF THEN ELSE anymore)...

Note 2: As you'll notice I didn't use the SW_NORMAL constant as others would do, but the SW_SHOWNA constant instead. This is because SW_NORMAL will also make the floating windows active (it sets the focus to them), SW_SHOWNA does not. More info on this can be found in the MSDN library: ShowWindow.


Download the attachment for the complete VB6 project files (using the short method)

-------------------------------

EDIT: The included compiled exe file has basically the same functionality as the one from Fergy. But it will not loose focus (because I used SW_SHOWNA instead of SW_NORMAL) when you show the floating windows. And you can also start it up with a parameter "hide" or "show":

plusfloatingwindows => Will start up as normal and will show you the two buttons
plusfloatingwindows hide => Will hide the floating windows immediatly without showing any window
plusfloatingwindows show => Will show the floating windows immediatly without showing any window (in fact, instead of "show" you can use whatever you like :p)

Note: as it is an VB program it requires the useuall VB6 runtime library to be present on your system (MSVBVM60.DLL), if you don't have it (aka if you get an error when you start the program) download it here and install it.

.zip File Attachment: PlusFloatingWindows.zip (5.83 KB)
This file has been downloaded 153 time(s).

This post was edited on 08-24-2005 at 09:44 AM by CookieRevised.
.-= A 'frrrrrrrituurrr' for Wacky =-.
08-24-2005 03:59 AM
Profile PM Find Quote Report
Fergy
Full Member
***

Avatar

Posts: 164
Reputation: 7
36 / Male / Flag
Joined: Nov 2004
RE: Temporarily remove desktop contacts
For those who do not have visual basic, i decided to make a .EXE file so you can use it

Edit: cookierevised has included a .exe file in his .zip package, so I reccomend you download that

.exe File Attachment: PlusDesktopContacts.exe (20 KB)
This file has been downloaded 787 time(s).

This post was edited on 08-25-2005 at 04:30 AM by Fergy.
I should change my sig ay?
08-24-2005 06:44 AM
Profile E-Mail PM Find Quote Report
Pages: (2): « First [ 1 ] 2 » Last »
« Next Oldest Return to Top Next Newest »


Threaded Mode | Linear Mode
View a Printable Version
Send this Thread to a Friend
Subscribe | Add to Favorites
Rate This Thread:

Forum Jump:

Forum Rules:
You cannot post new threads
You cannot post replies
You cannot post attachments
You can edit your posts
HTML is Off
myCode is On
Smilies are On
[img] Code is On