Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Portuguese
  4. Ajuda, pegar tituloda janela que esta em foco

Ajuda, pegar tituloda janela que esta em foco

Scheduled Pinned Locked Moved Portuguese
6 Posts 3 Posters 2.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Offline
    R Offline
    Rodrigocg
    wrote on last edited by
    #1

    Estou tentando pegar o titulo da janela que esta em foco, mas o código funciona em partes... eleexibe o resultado correto, mas em seguida ocorre um erro estranho...

    segue o código:

    @#include <iostream>
    #include <windows.h>
    #include <QDebug>

    HWND foco;
    char janela[255];

    using namespace std;
    int main()
    {

    LPTSTR p;
    int i;
    foco = GetForegroundWindow();
    GetWindowText(foco,p,255);
    
    for(i=0;i<61;i++)
        janela[i]=p[i];
    qDebug()<<janela;
    
    return 0;
    

    }
    @

    aceito dicas de outras formas de se fazer isso...

    desde ja agradeço.

    1 Reply Last reply
    0
    • T Offline
      T Offline
      TioRoy
      wrote on last edited by
      #2

      O que é o erro estranho?

      1 Reply Last reply
      0
      • R Offline
        R Offline
        Rodrigocg
        wrote on last edited by
        #3

        o mesmo erro que acontece no windows quando tentamos acessar uma posiçao de um vetor que nao existe... o problema é que o codigo funciona, e eu nao sei de outra forma que eu possa converter uma variavel do tipo LPTSTR para um vetor do tipo char...

        1 Reply Last reply
        0
        • J Offline
          J Offline
          jeanrl
          wrote on last edited by
          #4

          Não sei se entendi direito e talvez esteja falando bobagem, mas isso não resolve:

          ui->label_2->setText(this->windowTitle());

          Ou no momento da informação vc não sabe qual janela está com foco?

          Abraços.

          1 Reply Last reply
          0
          • R Offline
            R Offline
            Rodrigocg
            wrote on last edited by
            #5

            nao resolve, pq eu nao sei qual esta em foco, pois a aplicaçao vai ficar em segundo plano.

            1 Reply Last reply
            0
            • T Offline
              T Offline
              TioRoy
              wrote on last edited by
              #6

              @
              for(i=0;i<61;i++)
              janela[i]=p[i];
              @

              Como você sabe que o LPTSTR tem 61 bytes?

              No Windows, se a compilação é feita com UNICODE (que é o caso do Qt), LPTSTR = LPWSTR = wchar_t.

              Você precisa usar algo como wcstombs ou WideCharToMultiByte para converter primeiro, se quiser um char*.
              Ou use o "fromWCharArray":http://qt-project.org/doc/qt-4.8/qstring.html#fromWCharArray do QString

              1 Reply Last reply
              0

              • Login

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • Users
              • Groups
              • Search
              • Get Qt Extensions
              • Unsolved