Hora de abertura da janela

Delphi

05/07/2005

pra saber o nome da janela ativa getwindowtext retorna.
mas tem como alem de saber o nome dessa janela saber a hora que foi aberta ???????

[color=green:2d38993abd]Título editado por gandalf.nho. Favor não postar em maiúsculas[/color:2d38993abd]


Mark_h0ppus

Mark_h0ppus

Curtidas 0

Respostas

Paullsoftware

Paullsoftware

05/07/2005

No evento onclick do componente que abre o form faça...

varHora := FormatDateTime(´hh:mm:ss:´,Now); //VarHora do tipo String
VarForm := screen.activeform.name+#10; //VarForm do tipo String


basta guardar essas informações em uma tabela...

tbeventos.open;
tbeventos.append;
tbeventoshora.AsString := VarHora;
tbeventosform.AsString := VarForm;
tbeventos.post;


espero ter ajudado! :wink:


GOSTEI 0
Mark_h0ppus

Mark_h0ppus

05/07/2005

assim dah mai eu queria por exemplo quando eu pegar o nome da janela ativa[essa janela pode ser qualquer programa do windows] pegar a hora de abertura dessa janela será que tem como ???


GOSTEI 0
Beppe

Beppe

05/07/2005

Vc deve associar de alguma forma a hora com o form. Uma saída seria criar um campo em um form, e descender todos os seus forms dele. Ou então usar a tag de cada um.

No OnShow:

if Tag <> 0 then StrDispose(Pointer(Tag));
Tag := Integer(StrNew(VarHora));

No OnDestroy:

StrDispose(Pointer(Tag));


GOSTEI 0
Mark_h0ppus

Mark_h0ppus

05/07/2005

naum vleho vc naum entende a pergunta queria que poder pega a hora de abertura de uma janela do word, de um bloco de notas, de um campo minado, de um site porno etc entende ??????????


GOSTEI 0
Beppe

Beppe

05/07/2005

Eu disse: ´Vc deve associar de alguma forma a hora com o form.´

O Windows não faz isso. Ao menos, não libera esta informação.


GOSTEI 0
Adriano Santos

Adriano Santos

05/07/2005

Cara tem um exemplo do que vc quer aqui mesmo no site do clube, mas ai vai.

function ActiveCaption: string; var Handle: THandle; Len: LongInt; Title: string; begin Handle := GetForegroundWindow; Len := GetWindowTextLength(Handle) + 1; SetLength(Title, Len); GetWindowText(Handle, PChar(Title), Len); ActiveCaption := TrimRight(Title); end;


use a função assim:

if (ActiveCaption <> WindowOld) and (ActiveCaption <> ´´) then begin WindowOld := ActiveCaption; Memo1.Lines.Add( FormatDateTime(´DD/MM/YYYY´,Date) + ´ ´ + TimeToStr(Time) + ´ - ´ + ActiveCaption); end;


[b:5d0a3109a8][color=red:5d0a3109a8]coloque dentro de um timer[/color:5d0a3109a8][/b:5d0a3109a8]

[b:5d0a3109a8][color=blue:5d0a3109a8]Estou usando e funciona perfeitamente[/color:5d0a3109a8][/b:5d0a3109a8]


GOSTEI 0
POSTAR