Filou Geschrieben 25. August 2006 Teilen Geschrieben 25. August 2006 Guten Morgen! Is vielleicht ne dumme Frage, aber was ist eigentlich HINSTANCE? Und wie kann ich den Typ vergleichen? Beispiel: HINSTANCE test = ShellExecute( NULL, "open", "irgendwas.exe", NULL, NULL, SW_NORMAL ); if (test == ERROR_FILE_NOT_FOUND) { In der MSDN Library steht dass ShellExecute diese Werte zurückgibt 0 The operating system is out of memory or resources. ERROR_FILE_NOT_FOUND The specified file was not found. ERROR_PATH_NOT_FOUND The specified path was not found. ERROR_BAD_FORMAT The .exe file is invalid (non-Microsoft Win32 .exe or error in .exe image). Verstehen tu ichs aber nicht. Vielleicht kann es mir jemand erklären? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 25. August 2006 Teilen Geschrieben 25. August 2006 In der MSDN Library steht dass ShellExecute diese Werte zurückgibtUnd genau da steht auch folgendes: The return value is cast as an HINSTANCE for backward compatibility with 16-bit Windows applications. It is not a true HINSTANCE, however. The only thing that can be done with the returned HINSTANCE is to cast it to an int and compare it with the value 32 or one of the error codes below. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Filou Geschrieben 25. August 2006 Autor Teilen Geschrieben 25. August 2006 aha :confused: und wie geht das? Ich habs so versucht: int x = static_cast<int>(test); Aber kein Erfolg: 'struct HINSTANCE__ *' kann nicht in 'int' konvertiert werden Wie macht man das richtig? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hexagon Geschrieben 25. August 2006 Teilen Geschrieben 25. August 2006 Sorry, klingt jetzt etwas hart, aber: Sag mal liest du die Compilerausgaben auch? 'struct HINSTANCE__ *' kann nicht in 'int' konvertiert werden Einen Zeiger in einen int zu casten wird nie funktionieren! Nimm mal einen "int *"... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 25. August 2006 Teilen Geschrieben 25. August 2006 Einen Zeiger in einen int zu casten wird nie funktionieren!Doch. Und genau das ist hier notwendig (leider). Stichwort reinterpret_cast. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Filou Geschrieben 25. August 2006 Autor Teilen Geschrieben 25. August 2006 Doch. Und genau das ist hier notwendig (leider). Stichwort reinterpret_cast. Danke Dir, so gehts :-) aber diese HINSTANCE ist ein seltsames ding :cool: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hexagon Geschrieben 25. August 2006 Teilen Geschrieben 25. August 2006 Doch. Und genau das ist hier notwendig (leider). Stichwort reinterpret_cast. Und wieder was gelernt. Aber eine saubere Art und Weise ist es nicht... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.