I need a help to develop a generic function

Hello guys,

I don't have any ideia how could I develop a procedure/function that could retrieve me the name of my component / form when I click on my mouse (left button) + Ctrl and Alt held.

I have more than 100 forms, and this need to be a way that could works for any forms.


Thanks
LVL 1
hidrauAsked:
Who is Participating?
 
mikelittlewoodConnect With a Mentor Commented:
Take a look at this code for a small example

http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_21557898.html

or download Eddie Shipmans clone of WinSpy32

http://www.delphipages.com/result.cfm?ID=5330
0
 
hidrauAuthor Commented:
Hi,

this is the example that you linked, but how could I work that way that I told you, only when I press the ctrl + shift and left button?

procedure TForm1.Timer1Timer(Sender: TObject);
var
  pt : TPoint;
  wnd : cardinal;
  txt1 : array [0..255] of char;
  txt2 : array [0..255] of char;
begin
// if you use 'controls' unit, then you may use Mouse.CursorPos instead of variable 'pt'
// in that case GetCursorPos() is not necessary
GetCursorPos(pt);
wnd := WindowFromPoint(pt);
GetClassName(wnd, @txt1[0], sizeof(txt1));
GetWindowText(wnd, @txt2[0], sizeof(txt2));
if txt2 = '' then begin // sometimes wm_gettext works when GetWindowText() does not work
  SendMessage(wnd, wm_gettext, sizeof(txt2), integer(@txt2[0]));
end;
label1.Caption := format('handle: %.8x'#13#10'class: %s'#13#10'text: %s', [wnd, txt1, txt2]);
end;


But how can i do to call this without time, only when I hold my

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.