+ Antworten
Ergebnis 1 bis 9 von 9
  1. #1
    Newbie Marula befindet sich auf einem aufstrebenden Ast
    Registriert seit
    20.11.2009
    Beiträge
    8
    Downloads
    0
    Uploads
    0
    Renommee-Modifikator
    0

    .exe automatisch mit dosbox verknüpfen

    Hallo,

    ich habe ein etwas kniffliges Problem:
    Habe seit kurzem Win7 64bit. Ein dort installiertes, recht altes Programm, das soweit gut funktioniert, beinhaltet auch eine Exportroutine, die über eine extra vorhandene readseq.exe ausgeführt wird. Das Programm selbst ist 32bit, die readseq.exe aber 16-bit, also: Keine Unterstützung unter 64bit!

    Habe mein Glück mit der DOSbox versucht, das funktioniert auch, nur kann ich die readseq.exe nicht manuell starten, denn dafür sind Eingaben nötig, die normalerweise das "Mutterprogramm" macht und die ich handish nicht hinbekomme. Ich möchte also die readseq.exe so bearbeiten, daß sie, wenn das "Mutterprogramm" darauf zugreift, automatisch unter DOSbox ausgeführt wird und damit unter 64bit läuft.

    Gibt es dafür eine Möglichkeit? Alles was ich gefunden habe ist, eine Verknüpfung zu DOSbox zu erstellen, die automatisch die gewünschte Anwendung ausführt, aber das hilft mir nichts, weil mein Programm ja direkt auf die readseq.exe zugreift.



  2. #2
    No Life Tilo2300 sorgt für eine eindrucksvolle AtmosphäreTilo2300 sorgt für eine eindrucksvolle Atmosphäre Avatar von Tilo2300
    Registriert seit
    28.01.2002
    Ort
    Jülich
    Alter
    35
    Beiträge
    400
    Downloads
    8
    Uploads
    0
    Renommee-Modifikator
    121

    Standard

    Du könntest die readseq.exe umbenennen in readseq_2.exe und dir in eine Batchdatei den Aufruf der readseq_2.exe inkl. der übernommenen Parameter des Mutterprogramms schreiben.

    Dann kompilierst du die Batch zu einer EXE und nennst diese dann readseq.exe.

    Die "neue" readseq.exe kannst du dir natürlich auch selbst in C/C++ schreiben bzw. schreiben lassen.

    Ob das dann funktioniert, kann ich natürlich nicht versprechen, aber vom logischen Ablauf her sollte es klappen.

    Unabhängig davon... Kannst du das ganze Programmpaket nicht in einem virtuellen XP oder so laufen lassen?


    Wenn alles auch im Eimer ist, so bleibt uns doch der Eimer.






  3. #3
    Newbie Marula befindet sich auf einem aufstrebenden Ast
    Registriert seit
    20.11.2009
    Beiträge
    8
    Downloads
    0
    Uploads
    0
    Themenstarter
    Renommee-Modifikator
    0

    Standard

    Hi,

    danke fürs Antworten! Hört sich gut an, ich fürchte aber das übersteigt meine Möglichkeiten... Abgesehen davon, daß ich nicht weiß wie und mit welchem Inhalt ich eine solche Batch-Datei anlegen müßte und wie ich die in eine .exe kompiliere, wüßte ich auch nicht wie ich an den Input kommen sollte, der vom Mutterprogramm an readseq.exe geht. Und von C++ hab ich leider auch nicht die geringste Ahnung - bin halt nur ein armer User

    Über eine virtuelle Maschine hab ich auch schon nachgedacht, also falls Du nicht zufällig Lust und Zeit hast mir eine step-by-step-Anleitung zu posten , werd ich wohl das machen.

    Liebe Grüße!



  4. #4
    No Life Tilo2300 sorgt für eine eindrucksvolle AtmosphäreTilo2300 sorgt für eine eindrucksvolle Atmosphäre Avatar von Tilo2300
    Registriert seit
    28.01.2002
    Ort
    Jülich
    Alter
    35
    Beiträge
    400
    Downloads
    8
    Uploads
    0
    Renommee-Modifikator
    121

    Standard

    So.
    Hab das mal quick-'n'-dirty gebastelt.
    Die Idee ist ja, die readseq.exe zu ersetzen durch ein "Zwischenprogramm", welches die eigentliche readseq.exe in einer Kommandozeile startet.
    Die eigentliche readseq.exe wird dazu vorher in readseq2.exe umbenannt.

    Damit das ganze aber - zumindest in der Theorie - funktioniert, müssen alle vom "Mutterproramm" an die readseq.exe übergebenen Parameter ebenfalls an die readseq2.exe weitergegeben werden.
    Mit einem Batch-Skript ist sowas sehr einfach zu machen...

    Code:
    @echo off
    cls
    echo.
    echo rufe folgenden Befehl auf: 
    echo cmd /C "readseq2.exe %*"
    echo.
    ping -n 3 127.0.0.1 >NUL
    cmd /C "readseq2.exe %*"
    Nun kann man ein Batch-Skript aber leider nicht als EXE speichern... der Aufruf des "Mutterprogramms" sucht ja eine readseq.exe und keine readseq.bat oder readseq.cmd.

    Dazu habe ich das Batch-Skript in eine EXE "verpackt".
    Die heißt also jetzt readseq.exe und tut genau das, was oben im Batch-Code steht... sie übernimmt alle Parameter, die sie vom "Mutterprogramm" erhält, startet eine Eingabeaufforderung (cmd) und ruft darin die readseq2.exe mit all den übernommenen Parametern auf, die sie selbst erhalten hat.

    Theoretisch funktioniert das so.
    Ob's in der Praxis auch funktioniert, mußt du jetzt testen.

    Benenne also zuerst deine originale readseq.exe um in readseq2.exe und lade dir dann die "künstliche" readseq.exe runter und lege sie dahin, wo sie hingehört.

    Und dann hilft nur noch probieren. :-)

    Zur Kontrolle gibt die neue readseq.exe den kompletten Befehl inkl. Parameter aus, mit denen sie die readseq2.exe aufruft.


    Wenn alles auch im Eimer ist, so bleibt uns doch der Eimer.






  5. #5
    No Life Tilo2300 sorgt für eine eindrucksvolle AtmosphäreTilo2300 sorgt für eine eindrucksvolle Atmosphäre Avatar von Tilo2300
    Registriert seit
    28.01.2002
    Ort
    Jülich
    Alter
    35
    Beiträge
    400
    Downloads
    8
    Uploads
    0
    Renommee-Modifikator
    121

    Standard

    Und?


    Wenn alles auch im Eimer ist, so bleibt uns doch der Eimer.






  6. #6
    Newbie Marula befindet sich auf einem aufstrebenden Ast
    Registriert seit
    20.11.2009
    Beiträge
    8
    Downloads
    0
    Uploads
    0
    Themenstarter
    Renommee-Modifikator
    0

    Standard

    Hi,

    ENTSCHULDIGUNG, ich hatte erst nimmer geschaut weil ich nicht ernsthaft davon ausgegangen bin daß jemand sich die Mühe macht da was zu basteln... sorry! Und DANKE, Du bist ja crass!

    Habs ausprobiert, funzt aber noch nicht so wie es soll. Deine .exe versucht zwar die Datei readseq2.exe aufzurufen, gibt aber eine Fehlermeldung aus

    "Der Befehl "readseq2.exe" ist entweder falsch geschrieben oder konnte nicht gefunden werden"

    und schließt sich dann selbst. Darüber werden zwei Dateipfade angegeben, hinter dem cmd-Befehl das temp-Verzeichnis des Mutterprogramms und dann das gewünschte Zielfile das durch readseq2.exe generiert werden soll.

    Vielleicht muß readseq2.exe woanders gespeichert sein damit sie gefunden wird?

    Jedenfalls schonmal ganz vielen Dank für Deine Mühe!!



  7. #7
    Newbie Marula befindet sich auf einem aufstrebenden Ast
    Registriert seit
    20.11.2009
    Beiträge
    8
    Downloads
    0
    Uploads
    0
    Themenstarter
    Renommee-Modifikator
    0

    Standard

    Nachtrag:
    Bin da wohl etwas zu schnell vorgegangen. Wäre es nicht möglich daß das mit der Kommandozeile nicht funktioniert in Win7, oder eben nicht wenn dort eine 16-bit-Anwendung ausgeführt werden soll?

    Hoffe ich verstehe alles richtig. Ich habe jetzt mal Folgendes versucht: Ich habe die dosbox.exe in readseq2.exe umbenannt und den Autoexec-Teil von Dosbox so geändert daß automatisch beim Ausführen der dosbox.exe das Programm readseq.exe (umbenannt in readseq3.exe, jetzt wirds kompliziert ;-)) ausgeführt wird, in einer Dos-Umgebung. Dann habe ich Deine readseq.exe dazukopiert und aufgerufen. Das klappt, alles wird gestartet. Der Nachteil: Bin gerade daheim und teste auf einem XP-Rechner, und auch nicht innerhalb des Mutterprogramms. Melde mich morgen, sobald ich dasselbe im Mutterprogramm unter Win7 64bit probiert habe!



  8. #8
    No Life Tilo2300 sorgt für eine eindrucksvolle AtmosphäreTilo2300 sorgt für eine eindrucksvolle Atmosphäre Avatar von Tilo2300
    Registriert seit
    28.01.2002
    Ort
    Jülich
    Alter
    35
    Beiträge
    400
    Downloads
    8
    Uploads
    0
    Renommee-Modifikator
    121

    Standard

    Zitat Zitat von Marula
    Nachtrag:
    (...)
    Ach du Schande!
    Jetzt machst du ja richtig Terror!

    Tatsächlich ist es so, daß die künstliche readseq.exe einfach das Batch-Skript nach %temp% auspackt (unter XP also z. B. C:\Dokumente und Einstellungen\username\Lokale Einstellungen\Temp) und es dort startet. Dabei sollte aber als aktuelles Verzeichnis, also da wo es rumrödelt und die readseq2.exe sucht, das ursprüngliche Verzeichnis mitgegeben werden... also C:\Programme\meinProgramm\ oder was auch immer.
    Das scheint bei dir nicht zu klappen... liegt vielleicht an Win7 oder an 64bit... wer weiß.

    *timeout*

    So, habe es gerade auf einem Win7 32bit probiert, da geht's.
    Zumindest, wenn ich die readseq.exe aus der Kommandozeile mit ein paar Parametern starte.

    Ich habe mir den Windows-"Taschenrechner" (calc.exe) ins Programm-Verzeichnis kopiert und in readseq2.exe umbenannt... das soll deine originale Programmdatei darstellen.

    Habe beide Dateien unter Win7 32bit also in ein Verzeichnis C:\ProgramFiles\readseq-Test\ gelegt und die readseq.exe
    per Kommandozeile mit ein paar Parametern gestartet:






    ... und wie erwartet, startet er die daneben liegende readseq2.exe (in meinem Fall den Taschenrechner) mit den Dummy-Parametern.






    Der Rechner kann mit den Parametern zwar nichts anfangen, aber daß sie ankommen, sieht man daran, daß Kauderwelsch im Eingabefeld des Taschenrechners steht.

    Stellt sich die Frage, warum es bei dir nicht geht.

    Wenn du mir den Pfad zu deinem tatsächlichen Programmverzeichnis mitteilst, kann ich diesen in der künstlichen readseq.exe fest reinschreiben, dann sollte er deine dort liegende readseq2.exe auch aufrufen können.

    Probieren kann man es ja mal.
    Oder wenn du nicht allzu weit von 52428 Jülich entfernt ansässig bist, könnte ich auch mal vorbeikommen... dann könnte man es live in Echtzeit, in Farbe und bunt ausprobieren und feststellen, wo es hakt.
    Hab irgendwie Blut geleckt und würde das doch gerne hinbekommen


    Wenn alles auch im Eimer ist, so bleibt uns doch der Eimer.






  9. #9
    Newbie Marula befindet sich auf einem aufstrebenden Ast
    Registriert seit
    20.11.2009
    Beiträge
    8
    Downloads
    0
    Uploads
    0
    Themenstarter
    Renommee-Modifikator
    0

    Standard

    Hm.
    Nochmal: Verstehe ich das richtig, daß Du das 16bit-Problem dadurch beheben willst, die readseq.exe in einer Kommandozeile zu starten?
    Kann das unter 64bit so einfach funktionieren, wo überall groß angekündigt war, daß mit Win7 64bit der Support für 16bit endet?

    Wenn das nicht funktioniert, müßte man auf jeden Fall diese dosbox.exe dazwischenbasteln, um eine geeignete Umgebung bereitzustellen, wobei ich nicht weiß ob diese meinen Input
    vom Mutterprogramm weitergibt, wohl eher nicht. Oder anders gesagt: In dem Fall müßte man "nur" die Dosbox.exe so verändern, daß sie readseq2.exe startet und den Input an diese Anwendung weitergibt...

    Inzwischen ist aber ein anderes Problem dazugekommen, das die ganze Sache wahrscheinlich zum Scheitern verurteilt: Die Mutteranwendung funktioniert mittlerweile auch nur noch teilweise unter Win7...
    Das kann ich leider gar nicht brauchen, deshalb hab ich jetzt ein virtuelles XP installiert und werde wohl die ganze Anwendung dort
    ausführen.

    Wenn es Dich trotzdem interessiert, der Pfad zur Mutteranwendung (bioedit.exe) ist C:\Program Files\BioEdit, die readseq.exe liegt in C:\Program Files\BioEdit\apps.
    Dann würde ich es auf jeden Fall noch ausprobieren, für den Fall daß es im virtuellen XP nicht klappen sollte...

    Leider wohne ich ganz schön weit weg von 52428 Jülich, ich komme aus München, na ja, fast Freising .

    Liebe Grüße!



Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. Megarace CD wird nicht erkannt; DosBox
    Von bims im Forum Games Windows XP
    Antworten: 3
    Letzter Beitrag: 16.08.2007, 17:17
  2. Alt-Tab bei dosbox geht nicht
    Von MacGyverDTH im Forum Windows 9X/ME
    Antworten: 8
    Letzter Beitrag: 22.05.2004, 06:05
  3. DosBox V.0.61 und eingabe von Tasten
    Von Lord Wotan im Forum Software Windows XP
    Antworten: 2
    Letzter Beitrag: 13.05.2004, 04:36
  4. DOSBOX unter Windows 2000
    Von <macleod2> im Forum Software Windows 2000
    Antworten: 0
    Letzter Beitrag: 12.06.2001, 09:37
  5. Altes Problem:Tastatur in Dosbox bei Spielen
    Von Catfish im Forum Games Windows 2000
    Antworten: 1
    Letzter Beitrag: 16.07.2000, 11:58

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein

Search Engine Friendly URLs by vBSEO 3.6.0