Entwickler-Ecke
Dateizugriff - Shell DOS-Befehl ohne Dosfenster
Biarchiv - Do 09.01.03 16:52
Titel: Shell DOS-Befehl ohne Dosfenster
Hallo,
Wie kann ich einen Dosbefehl im Hintergrund von Windows öffnen ohne das kurz
der Dosfeld geöffnet wird?
Brächte auch ein paar Parameter. 3 oder so...
Danke
Pierre - Sa 11.01.03 13:55
Hallo,
kannst Du die Frage anders stellen?
Grundsätzlich kann man nichtsichbare Dinge ohne Fenster machen.
Warum brauchst Du DOS, kann Delphi das nicht, was Du machen willst?
Gruß Pierre
tommie-lie - Sa 11.01.03 14:08
genau.
Erstens wäre es interessant zu erfahren, wie du bisher die Befehle afrufst und was es für Befehle sind. der "del"-Befehl macht zum Beispiel wenig Sinn, weil man das auch anders haben kann, ohne direktes DOS.
Anonymous - Sa 11.01.03 15:22
| Pierre hat folgendes geschrieben: |
| Warum brauchst Du DOS, kann Delphi das nicht, was Du machen willst? |
| tommie-lie hat folgendes geschrieben: |
| genau. |
Ich würde mal gerne für Biarchiv antworten. Ich weiß zwar nicht, ob er das meint (vielleicht will er wirklich nur "del" ausführen), aber es gibt viele interresante Dosprogramme. Nur als Beispiel: Lame. Eine legales und parametergesteuertes Freeware zum kodieren von mp3 Files. Man kann sich also seinen eigenen Konverter basteln und die Files mit diesem Dosprogramm bearbeiten. Wenn das auch noch im Hintergrund geht, dann um so besser.
Ok, bevor es ein anderer macht,mach ich es selbst. Lame gibt es auch als DLL. Deshalb braucht man die Dosversion nicht. Allerdings geht es darum, daß es andere nützliche Software gibt (die mir gerade nicht einfällt) die es nur als DOS Programm gibt.
Anonymous - Sa 11.01.03 15:27
Titel: Re: Shell DOS-Befehl ohne Dosfenster
Kann es sein, daß du mit Windows NT oder ff arbeitest? Soweit ich weiß ist CMD die NT Version von dem 9x COMMAND (oder andersrum).
Deshalb sollte man vor ausführung deines Tip zuerst das BS überprüfen und entweder CMD oder COMMAND benutzen.
Anonymous - Sa 11.01.03 16:41
Titel: Re: Shell DOS-Befehl ohne Dosfenster
| Popov hat folgendes geschrieben: |
| Deshalb sollte man vor ausführung deines Tip zuerst das BS überprüfen und entweder CMD oder COMMAND benutzen. |
Einfach die Systemvariable COMSPEC auslesen. Wobei ich nicht weiß, ob die Command.com ähnliche Funktionalitäten hat. Diese Frage stellte sich zumindest in dem anderen Thread nicht. Falls Biarchiv ein 9x-System einsetzt und Probleme auftreten sehen wir weiter.
Gruß Tom
tommie-lie - Sa 11.01.03 17:06
@Popov:
Aus diesem Grund wollte ich ja mehr Infos. Zum Beipsiel, wie er das aufruft. Mit Shellexecute oder anders. Und auch was er aufruft, damit wir evtl ein Pascal/WinAPI-Äquivalent finden können.
Biarchiv - So 12.01.03 11:07
Hallo,
Es geht um den Dos-Befehl:
subst z: c:\test
Also nur rein virtuelles Laufwerk.
sw_hide funktioniert nicht.
Nur wenn ich im reinen Dos den Befehl ausführe dann erscheint
das Laufwerk.
Wenn ich in Delphi das mache und Ausführe passiert nichts.
Anonymous - So 12.01.03 12:11
Extrem wichtig: was für ein Betriebssystem hast du?
Bei solchen Fragen (Dos oder System) immer das Betriebssystem nennen.
tommie-lie - So 12.01.03 14:34
SW_HIDE funktioniert nicht?
Komische Sache.
Unter Widnows98SE geht folgendes ohne Probleme, das Laufwerk erscheint, auch im Explorer und kein DOS-Fenster weit und breit...
Quelltext
1: 2:
| ShellExecute(Handle, 'open', 'C:\windows\command\subst.exe', PChar('z: c:\windows'), nil, SW_HIDE); |
Ach ja, ShellAPI muss eingebunden sein, dann klappt's auch mit dem ShellExecute. Ansonsten gibt's aber (zumindest bei mir) keine Nebenwirkungen. Auch das "unbind" mit /d funktioniert einfandfrei.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!