000
10.01.2005, 19:27 Uhr
~kaleidoskop
Gast
|
Hallo allerseits!
Gibt es hier echte DOS-Profis, die etwas von DOS-Aufrufen aus einem MFC-Proggi verstehen? Ziel: DOS-Programm mit Param starten, die in einer Win-Anwendung locker die 128-Zeichen-Grenze überschreiten. Start der DOS-Exe mit Param. soll in der MFC-Anw. z.B. per Shellexec() geschehen. Bedingungen: Das DOS-Programm liegt auf einem Rechner irgendwo im Netz..., z.B. NProgram Files\Neo\Communicator\Special\individq.exe (Der Ordner .\Special ist wichtig)
...und erhält als Eingangsparam noch einen Pfad wie NProgram Files\Neo\Communicator\Special\Input_1 ...und einen Ausgangsparam (für die Encodierte Datei) NProgram Files\Neo\Communicator\Special\Output_1 -1000 -7
In NProgram Files\Neo\Communicator\Special\Output_1 soll anschließend die Ausgabe der Eingangs-Datei liegen.
Zu beachten: Lösung per batch-File möglich? ->UNC-Pfade bzw. Laufwerksverknüpfungen ->relative Pfade ->GetShortPatname() o.s. ähnlich , um lange Verzeichnisnamen in .\*******~1 umzubennen. ->Arbeitsverz. wechseln (dorthin, wo die DOS-Programm-exe liegt) ->keine lokale ausführung z.b. in lokalem PC in ctemp möglich, da evt. kein Laufwerk vorhanden!!!
Das Kernproblem ist hier , daß es möglich sein soll, den vorstehenden Pfad (NProgram Files\Neo\Communicator...) ändern zu können. Der geänderte bzw. aktuelle Pfad ist aber dann immer aus der Registry lesbar. Wie kann man dem DOS-Programm den langen Pfad "unterjubeln" (max. 128Zeichen)???? Und alles soll auf dem Server im Verz. .\Special angelegt werden
??? Habe viele versch. Mögl. getestet -> keine hat gefunzt :-(
Thx!!! |