Jump to content

Registry - DummyEintrag für Executables


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

zur Verdeutlichung des Problemes schreibe ich mal alles ganz konkret. Ich habe ein Programm, das eine komplette Arbeitsoberfläche abgibt. Daraus wird u.A. ein Finanzbuchhaltungsprogramm (via ShellAPI) aufgerufen. Für den Eintrag, um welche Executable es sich handelt, die erforderlichen Parameter und den Pfad zur Executable nutze ich die Registry HKLM\Software\Firma\Programm\Version\ ... Werteliste. Das sind alles maschinenspezifische Einstellungen und für AllUsers und es ist auch richtig, wenn nur Admin da was machen kann.

Nun habe ich ein Modul geschrieben, mit dem Admin alle Einträge zu dem Programm korrekt eintragen und in die Registry schreiben kann. Damit das nicht zu viel Tipparbeit wird, kann Admin Vorlagen nutzen. Das klappt auch alles hervorragend. Allerdings ist konkret das Finanzbuchhaltungsprogramm nicht auf jeder Kiste installiert. Für diese Kisten brauche ich statt eines Wertes "FIBU.EXE" einen Eintrag, der überhaupt nichts bewirkt. O.K., habe ich mir gesagt, trägst Du statt "FIBU.EXE" "NUL" ein (weil, so mein Gedanke: Wenn ich via ShellAPI "NUL" aufrufe, dann dürfte nix passieren). Ist aber wohl falsch gedacht. Denn wenn ich das so mache, kriege ich das Fenster, in dem nach dem Programm gefragt werden, mit dem ich "NUL" öffnen wolle.

Ich habe das dann von der Konsole aus nachgebildet. Wenn ich da NUL eintippe, kriege ich auch diese Abfrage. Ich habe es dann mal spaßeshalber mit "MS Paint" verbunden und tatsächlich öffnet sich Paintbrush mit der Caption: "\\.\nul auf . - Paint"

Nun endliche meine Fragen:

- Ist das bei Euch auch so?

- Hat wer eine Idee, was da abläuft?

- Was kann ich statt NUL nutzen, wenn via ShellApi nichts passieren soll?

Ich sag schon mal Dankeschön für's Lesen der Bleiwüste und freue mich über jeden Hinweis / Idee /Tip.

Euer Finanzamt

 

PS.: Habe NT4 und W2K zur Verfügung. W2K reagiert wie oben beschrieben, NT4 meldet, daß die Datei NUL nicht vorhanden sei.

Link zu diesem Kommentar

Hallo,

programmtechnisch habe ich die Sache jetzt mit einem Workaround gelöst. Der Code ist zwar nicht mehr so elegant, weil zusätzliche Verzweigungen (Reg.-Wert, Trim, CHR(0) - Abfrage) dabei sind, aber es läuft.

Was mir aber immer noch ein Rätsel ist: Warum verzweigt W2K in die Abfrage "mit welchem Programm öffnen", wenn ich an der Eingabeaufforderung "NUL" eingebe? Gebe ich "LPT1" oder "COM1" oder "CON" ein, heißt es ' " " ist entweder falsch geschrieben oder konnte nicht gefunden werden', W2K ersetzt also "NUL" durch ein Leerzeichen CHR(32) oder CHR(255). Meines Wissens ist "NUL" ebenso ein Device wie "LPT1" etc.

Was könnte da los sein?

Gegrüßt!

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...