Qt World Summit: Register Today!

Get window title

  • I have the window process handle and id, how would I get the window title?

  • For Windows?
    See getWindowText function in WinAPI reference

  • Ok I have and I've found this and added in to my code so like:

    char buffer[65536];
    ProcInfo *p = new ProcInfo();
    HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS,FALSE,entry.th32ProcessID);
    int txtlen=GetWindowTextLengthW(hProc);
    GetWindowText(hProc, buffer, txtlen);

    Error is on line 4:

    invalid conversion from 'void*' to 'HWND__*'

    Someone told me I would find it easy learning C++ already knowing C# pretty well, but most of this just doesn't seem to make any sense :/

  • Try
    @int txtlen=GetWindowTextLengthW((HWND__*)hProc);@

    Hehe, It almost not touch c++ and c# differences.

    Just Welcome to world without GC and safe-type conversions. :D
    Welcome to world of WinAPI :)

  • Hey bro, I added what you explained above to what I posted but it just returns a single random letter each time, any ideas why it's not getting the window title?

  • Oh... I'm was mistake too. I hate winapi :)

    I did google very long and...
    NOT simple ways get HWND from HANDLE

    But I find difficult way, may be you can repeat this for your program.

    It's really stupid crazy method. But I'm not found anymore.

    So, now I understand why Win developer hate C++ - winapi is unbelievable crap.

    Hey, go to Linux - go to dark side - we still have cookies. :D

  • I'll check it out bro, thanks for the help :) And Linux {No Thanks!} lol, my applications are designed for windows users which I generally develop in C#, however I am trying to 'up my game' with C++, but I fear I have let myself in for a world of hurt.

Log in to reply