Jump to content

Yahoo Messenger LogOut


DCCD
 Share

Recommended Posts

...hi...

To see if yahoo msgr is on the pc you will probably want to use regread, and find where it shold be...probably under hkey local machine, software.

by online / offline do you mean internet online or you on yahoo online?

if internet then you can test by pinging or something, but I don't have yahoo, so don't know how you will go about finding out if your online.

logout... you could just end the process, that would log you out, but as with before, I don't know a specific way to log you out.

hope at least some of that helps!

Link to comment
Share on other sites

Hi

Here's my script 'Sign in Yahoo!Messenger' OK

Run("C:\Downloads\Messenger\YahooMessenger.exe", "", @SW_SHOW)
WinWait("Yahoo! Messenger")
;
;
; HERE, HOW DO I CHECK IF YAHOO MESSENGER OFFLINE OR ONLINE
;
;
SendKeepActive("Yahoo! Messenger")
;
For $i = 1 to 1
    Sleep(500)
    send("Yahoo ID")
    sleep(500)
    send("{TAB}")
    send('Password')
    sleep(500)
    send("{ENTER}")
    send("{ENTER}")
Next

by online / offline do you mean internet online or you on yahoo online?

[YAHOO MESSENGER] Edited by DCCD
Link to comment
Share on other sites

yer, cut the for loop, its pointless. and see if you can use control send rather than send.

apart from that, I don't have the messenger, so i dont know how. I presume logout is in a menu, try send ("!") to open the menus, find out what menu you need and send that letter, and send L probs for logout.

MDiesel

Link to comment
Share on other sites

if u are good at getting window lists and controls, (probably with an api)

> Get a list of active windows or Use winwait activate (Yahoo! Messenger) handle itself

> Here's if u can get the class name of body object by some method or the other...

<Status : Yahoo Messenger Logon window is visible 
<Body Object Info>

Class:  #32770
Instance:   1
ClassnameNN:    #327701
Text:   YLoginWnd
Position:   0, 0

<Status: Yahoo Messenger Logged on (even if invisible mode)
<Body Object Info>
Class:  SysListView32
Instance:   1
ClassnameNN:    SysListView321
Text:   ListView

Happy testing :-)

Edited by rajeshontheweb
Link to comment
Share on other sites

Thank you everyone, iT'S WORKS

AutoItSetOption("WinTitleMatchMode", 4)
;
;
WinGetHandle("classname=YahooBuddyMain", "ListView")
;
If Not @error Then
    MsgBox(64, "Y!", "Yahoo! Messenger - Online")
Else
    MsgBox(16, "Y!", "Yahoo! Messenger - Offline")
EndIf
Edited by DCCD
Link to comment
Share on other sites

hmm u dont need an api, it seems to be very simple

just do this

Run(@ProgramFilesDir & "\Yahoo!\Messenger\YahooMessenger.exe", "", @SW_SHOW)
WinWait("Yahoo! Messenger")
  SendKeepActive("Yahoo! Messenger")

If StringInStr(WinGetClassList ("Yahoo! Messenger"),"SysListView32") Then 
  ConsoleWrite(@CRLF & "Logged On" & @CRLF)

Else
;
  For $i = 1 to 1
    Sleep(500)
    send("Yahoo ID")
    sleep(500)
    send("{TAB}")
    send('Password')
    sleep(500)
    send("{ENTER}")
    send("{ENTER}")
 Next

Endif
Edited by rajeshontheweb
Link to comment
Share on other sites

For $i = 1 to 1
    Sleep(500)
    send("Yahoo ID")
    sleep(500)
    send("{TAB}")
    send('Password')
    sleep(500)
    send("{ENTER}")
    send("{ENTER}")
 Next

can someone please remove the for loop, its getting on my nerves. it is completely unnecessary! you don't even use $i, and its 1 to 1....

it seems to be very simple

yep, hers my version:

Run(@ProgramFilesDir & "\Yahoo!\Messenger\YahooMessenger.exe", "", @SW_SHOW)
WinWait("Yahoo! Messenger")
  SendKeepActive("Yahoo! Messenger")
If Not StringInStr(WinGetClassList ("Yahoo! Messenger"),"SysListView32") Then
    send("Yahoo ID")
    sleep(200)
    send("{TAB}")
    sleep(200)
    send('Password')
    sleep(200)
    send("{ENTER 2}")
Endif

I don't even know if you need any sleep at all, but half a secnd seemed a bit too much...

Link to comment
Share on other sites

For $i = 1 to 1
    Sleep(500)
    send("Yahoo ID")
    sleep(500)
    send("{TAB}")
    send('Password')
    sleep(500)
    send("{ENTER}")
    send("{ENTER}")
 Next

can someone please remove the for loop, its getting on my nerves. it is completely unnecessary! you don't even use $i, and its 1 to 1....

yep, hers my version:

Run(@ProgramFilesDir & "\Yahoo!\Messenger\YahooMessenger.exe", "", @SW_SHOW)
WinWait("Yahoo! Messenger")
  SendKeepActive("Yahoo! Messenger")
If Not StringInStr(WinGetClassList ("Yahoo! Messenger"),"SysListView32") Then
    send("Yahoo ID")
    sleep(200)
    send("{TAB}")
    sleep(200)
    send('Password')
    sleep(200)
    send("{ENTER 2}")
Endif

I don't even know if you need any sleep at all, but half a secnd seemed a bit too much...

Better version:

AutoItSetOption("WinTitleMatchMode",2)

$USER = "username"
$PWD = "password"

ControlSend("Yahoo! Messenger","","Edit1",$USER)
ControlSend("Yahoo! Messenger","","Edit2",$PWD)
ControlClick("Yahoo! Messenger","","Button4")

When the words fail... music speaks.

Link to comment
Share on other sites

just a small note, if u just terminate yahoo messenger, it still would show u online and would get u offline after a short while...

and i didnt like the loop as well, i just was looking into the signing in process so i didnt look into the loop stuff. i prefer MDiesel's verison, thats exactly what i would have done!

loggin out might require clicking on the menu control and then clicking on sign out option from it.

Edited by rajeshontheweb
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...