Ich schreibe gerade eine kleine Routine, die ShellExecuteEx verwendet. Wird eine nicht existente Datei angegeben, bringt das System eine Fehlermeldung hoch. OK, kein Problem, SetErrorMode sollte das unterdrücken... dachte ich. Bin ich zu blöd dazu?
Delphi-Quellcode:
var
Info: TShellExecuteInfo;
ErrMode: Cardinal;
begin
Result := 0;
ZeroMemory(@Info, SizeOf(Info));
Info.cbSize := SizeOf(Info);
...
ErrMode := SetErrorMode(SEM_FAILCRITICALERRORS or SEM_NOOPENFILEERRORBOX);
if not ShellExecuteEx(@Info) then
Result := GetLastError;
SetErrorMode(ErrMode);
end;
Zitat:
SEM_NOOPENFILEERRORBOX
0x8000
The system does not display a message box when it fails to find a file. Instead, the error is returned to the calling process.
Entweder verstehe ich es nicht, oder die Behauptung ist falsch
[edit] Ich sehe gerade,
das Problem ist nicht neu, und an dem Thread war ich sogar selbst beteiligt... peinlich, peinlich
[/edit]