Ajuda, pegar tituloda janela que esta em foco
-
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.
-
-
@
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