20/11/2009

Pegar nome do form em outro aplicativo

Bom dia amigos. Estou tendo muita dificuldade em pegar o nome de um form (exemplo o da calculadora) a partir de seu HWND.Tenho uma função que percorre os Handles de um programa e consegue eficazmente capturar a classe e seu título com as funções GetClassName e GetWindowText respectivamente. Entretanto é de meu extremo interesse capturar o nome do form, coisa esta que não estou obtendo êxito nem com GetProp (talvez eu não esteja sabendo como usar) e nem com SendMessage. Aliás como eu tenho o Handle do form da outra aplicação gostaria de saber como é possível, talvez, fazer um typecast ou ponteiro do seu handle e assim ter acesso ao nome do form.// Exemplo de mais ou menos o que eu precisovar  FormHandle: HWND;begin  FormHandle := FindWindow(nil, 'Calculadora');  ShowMessage(TWinControl(FormHandle).Name);end;

Marcos Rocha

Respostas

20/11/2009

Socram

var
  aName: array [0..255] of Char;


  if Boolean(GetClassName(hWnd, aName, 256)) then
    ShowMessage( 'ClassName :  ' + string(aName) )
  else
    ShowMessage( 'ClassName :  not found');
  end; 
Responder Citar

20/11/2009

Marcos Rocha

Amigo não é a Classe do form que eu preciso, e sim o NOME. Veja que posso ter um form chamado CalcPlusTabajara que seja da classe TCalculadora, então realmente preciso saber o NOME do infeliz.
Responder Citar