vollbildanwendung debuggen



  • Hallo

    (wenn falsches forum, bitte verschieben 😉 )

    ich habe eine vollbildanwendung. diese hängt sich beim starten auf.
    vermutlich weil da eine checksumme nicht mehr stimmt, den die originalexe
    läuft normal, aber egal.

    jedenfalls blockiert das teil den bildschirm. minimieren geht nicht mehr.
    in der taskleiste sehe ich aber, dass irgenteine exception geflogen ist.
    wenn ich mit laufendem debugger die exe starte, kann ich den prozess auch
    debuggen, dummerweise kann ich das fenster nicht anklicken, da die olle
    exe immernoch im vordergrund liegt. selbes problem mit anderen debuggern,
    ich bekomm das teil nicht minimiert.

    das programm verwendet directx und startet auch, läd seinen hintergrund und
    stirbt dann 😞

    frage: wie bekomme ich das klein?

    reicht da ein ShowWindow + SetFocus?
    da muss es doch was geben.

    ist leider schwer zu beschreiben.



  • am besten probierst du es einfach aus;

    für die folgenden code ausschnitte immer wichtig:

    #include<windows.h>
    

    ShowWindow:

    HWND handle_deiner_anwendung=FindWindow(0, TEXT("Fenstertitel der Anwendung"));
    ShowWindow(handle_deiner_anwendung, SW_MINIMIZE);
    

    minimiert das fenster.

    SetForegroundWindow:

    HWND handle_des_fensters_das_in_den_vordergrund_soll=FindWindow(0, TEXT("Fenstertitel der Anwendung"));
    SetForegroundWindow(handle_des_fensters_das_in_den_vordergrund_soll)
    

    lässt das fenster maximiert und setzt ein anderes in den vordergrund.

    normales schließen des fensters:

    HWND hwnd=FindWindow(0, TEXT("Fenstertitel der Anwendung"));
    SendMessage(hwnd, WM_CLOSE, 0, 0);
    

    abschießen:

    HWND hwnd=FindWindow(0, TEXT("Fenstertitel der Anwendung"));
    SendMessage(hwnd, WM_DESTROY, 0, 0);
    

    alternativ kannst du es auch mit SW_MINIMIZED als parameter bei shellexecute aus einem eigenen programm starten und hoffen das es gleich minimiert gestartet wird sodass es gar nicht ers maximiert wird.

    mfg,
    andi01.


  • Mod

    Remote Debugging
    http://blog.m-ri.de/index.php/2008/11/22/howtoremote-debugging-fast-and-easy/

    Debiuggen in einer virtuellen Maschine...



  • Mit einem zweiten Bildschirm geht auch das Debuggen im Fullscreen.



  • andi01 schrieb:

    HWND handle_des_fensters_das_in_den_vordergrund_soll
    

    http://www.geekherocomic.com/2008/11/12/real-programmers-dont-write-documentation/

    😃

    remote debugging geht hier leider nicht, da mir der zweite rechner fehlt.
    mit einem zweiten bildschirm könnte das wirklich gehen *keller durchsuch*

    vielen dank, mal gucken obs was wird.



  • virtual machine...



  • die vm braucht doch ein minios was eine exe ausführen kann. und der
    debugger muss doch auch in der vm laufen?


  • Mod

    helferlein schrieb:

    die vm braucht doch ein minios was eine exe ausführen kann. und der
    debugger muss doch auch in der vm laufen?

    In der VM hast Du die Umgebeung, die Du testen willst, also XP oder sonst was.
    Ansonsten wieder Remote-Debugging.


Anmelden zum Antworten