Welche Gründe könnte ShellExecute nicht?

Ich habe eine VB6-Anwendung öffnet Dateien, die mit Ihr verbundenen Anwendung mit:

ShellExecute(0, "open", filename, params, vbNullString, vbNormalFocus)

Dieser funktioniert perfekt.

Nun habe ich einen Kunden (läuft XP mit Adobe Reader), der kann nicht öffnen Sie eine PDF-Datei mit obigem Befehl. Aber die gleiche Datei wird geöffnet, ohne dass irgendwelche Probleme beim Doppelklick aus dem Windows Explorer. Ich habe auch getestet, den Dateinamen/-Pfad-Kombination auf meinem Rechner, um auszuschließen, diese Art von Problemen.

Ich bin auf der Suche nach irgendwelche Tipps, was ich überprüfen könnte, um sicherzustellen ShellExecute arbeitet. Oder was kann die Ursache ShellExecute zu scheitern, auf diese Weise?

Ich bin neugierig, warum Sie sind das hinzufügen vbNullString an den Dateinamen an. Gibt es dafür einen Grund? Jede änderung, wenn Sie nicht verwenden?
Ich denke, das hinzufügen von 'vbNullString' an das Ende der Saiten ist nicht notwendig. Allerdings, wenn ich mich Irre, müssten Sie hinzufügen, um die "Öffnen" als gut.
Es ist nicht wirklich nötig. Nur zugegeben, es einige Tage und jetzt ist es immer noch da. Dann habe ich es wegen der Dokumentation sagen die Funktion ist unter null-terminierte " strings.
Ich entfernte Sie, es macht den code lesbarer zu gestalten.
Nicht nur, vbNullString nicht ein NUL-Zeichen (werden Sie wahrscheinlich wollen, vbNullChar), alle VB String-Werte sind NUL-terminiert intern sowieso schon. Ist "Dateinamen" einen voll qualifizierten Pfad? Was ist in "params" (und warum sind Sie vorbei, es überhaupt)? Aber ich Stimme zu, dass der Rückgabewert sollte beweisen, sinnvoll.

InformationsquelleAutor MicSim | 2009-07-28

Schreibe einen Kommentar