[gelöst] Dialoge wie "There is no disk in the drive." verhindern



  • Kann man Dialoge wie den lustigen

    MyApplication.exe - No Disk
    
    There is no disk in the drive. Please insert a disk into drive X:.
    
                  [    Cancel    ]   [  Try Again   ]   [   Continue   ]
    

    irgendwie verhindern? Also vom Programm aus sagen "bitte tu einfach Fehler melden statt nachzufragen"?

    Der kommt z.B. wenn man einfach nur GetFileAttributes("d:\\some\\path") aufruft, D dabei ein optisches Laufwerk ist, und eben keine CD/DVD/... drin.

    Ist jetzt irgendwie ne herzige Idee die MS da hatte, aber herrjeh, für automatisierte Programme die das Pech haben in der interaktiven Session zu laufen ist das nicht so toll.



  • UINT prev_mode = SetErrorMode(SEM_FAILCRITICALERRORS);
    // ...
    SetErrorMode(prev_mode);
    

    ?



  • Dankeeeee 🙂 👍



  • Das schreit ja schon nach einer RAII Wrapperklasse.



  • Ich ruf das jetzt 1x bei Programmstart auf - ich will ja nirgends solche Dialoge haben.
    Für nen RAII-Wrapper ist das auch net geeignet, da SetErrorMode alle Threads beeinflusst.

    Wenn dann müsste man hier schon SetThreadErrorMode verwenden.


Log in to reply