Solved

Grabbing highlighted nickname from Yahoo Chat window list

Posted on 2003-10-24
8
345 Views
Last Modified: 2010-04-05
I'm writing some DELPHI 7 utilities for use with Yahoo Chat.  Sending output from my program into the Yahoo Chat window was tricky but rather painless.  However, I would now like to be able to grab the currently highlighted nickname from the room participant list for use in my program output.  Every version of SendMessage() using GETTEXT has failed when send to that nickname list window and I stumped.  Any solution?
0
Comment
Question by:ronlinran
  • 3
  • 2
8 Comments
 
LVL 2

Accepted Solution

by:
ccrdude earned 113 total points
ID: 9620586
I don't know the Yahoo Chat... but have you already tried the GetWindowText API function?

function MyGetWindowText(h: THandle): string;
var len: integer;
    pc: PChar;
begin
   len := GetWindowTextLength(h);
   GetMem(pc,len);
   GetWindowText(h,pc,len);
   Result := pc;
   FreeMem(pc,len);
end;

If I guess correctly from your text that you already have the handle of the control you want to get the text from, this should do.
0
 

Author Comment

by:ronlinran
ID: 9621194
Okay, like I said, this problem has me compltetly puzzled.  I used the code provided by ccrdude but to no avail.  Sorry.

I have the handle of the chat room window using a call to findwindow using the 'imclass'.  Using Windowse spy program though I find that the class name of the nickname list is 'SysListView32'.  Using findwindowex with the 'imclass' window and then hooking to the 'SysListView32' window and then using the above code only returns 'List2' as the text not the actual text of the highlighted nickname in the list.  Hope that makes sense.

Anyway, thanks for trying
0
 
LVL 6

Assisted Solution

by:DaFox
DaFox earned 112 total points
ID: 9621264
Hi ronlinran,

I never used Yahoo Chat. So I don't know how the windows look like...
But this
CurrentTVItem := SendMessage(hTreeViewWnd, TVM_GETNEXTITEM, TVGN_CARET, 0);
should work as long as you are in the address space of the target app (Yahoo).

Regards,
Markus
0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 

Author Comment

by:ronlinran
ID: 9621415
Nope, still no dice.  I"m about ready to give up on this even though I know it CAN be done.
0
 
LVL 2

Expert Comment

by:ccrdude
ID: 9622052
I guess "List" is the name of the control, not the contents. GetText would work for listboxes, but I'm not sure about ListViews.

My idea: get the window handle.
Then do EnumChildWindows.
Print out GetClassName and GetWindowText for each handle that EnumChildWindows returns.
That way you should be able to find the correct classname of the control you're looking for.
0
 

Author Comment

by:ronlinran
ID: 9623222
Thanks for all the help to date.  The control I am trying to access the highlighted text from is indeed a ListView and that seems to be the tricky bit.  The windows API isn't someting I'm very experienced with so grabbing the currently highlighted text from the control is proving porblematic at best.  The handle to the control is something I have, just what to do with it beyond that to get the info I want is the problem.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now