Nach Hause
Top.Mail.Ru Yandeks.Metrika
Forum: "WinAPI";
Aktuelles Archiv: 2002.01.08;
Herunterladen: [xml.tar.bz2];

Nach unten

WinExec oder ShellExecute Finden Sie ähnliche Zweige


PONTIY   (2001-11-01 10:06) [0]

Ich wollte die Textdatei (DOS-Codierung) mit einem einfachen Befehl in der Shell ausdrucken: copy c: \ aa.txt \\ printsrv \ epson
Ich habe versucht, dies mit der ShellExecute-Funktion zu tun:
ShellExecute (Handle, "print", "aa.txt", "D: \\ printsrv \ epson", nil, SW_HIDE);
Nichts passierte, er öffnete den Notizblock und druckte ihn aus, wodurch die Kodierung des Textes darunter litt. Und trotz der expliziten Angabe des Parameters (Gerätepfad) druckt er standardmäßig immer auf dem im System installierten Drucker. Was kann man weit entfernt von diesen Funktionen noch tun?



Anatoly Podgoretsky   (2001-11-01 15:41) [1]

Wenn Sie eine Shell durchlaufen möchten, müssen Sie einen Befehlsprozessor aufrufen und ihn als Argument an den Befehl copy senden.



PONTIY   (2001-11-02 06:19) [2]

Und wie geht das? Kannst du ein Beispiel im Code geben?



Anatoly Podgoretsky   (2001-11-02 09:44) [3]

Kopieren Sie c: \ aa.txt \\ printsrv \ epson processor
Sie beginnen mit ShellExecute
Der Name des Prozessors ist über die Systemvariablen bekannt.



PONTIY   (2001-11-02 18:56) [4]

2 Anatoly Podgoretsky

Hältst du mich für einen Idioten? :) Zeigen Sie, wie Sie diesen Konsolenbefehl in ShellExecute verwenden. Wie das ...
ShellExecute (Handle, "open", "cmd.exe", "copy c: \ aa.txt \\ printsrv \ epson")
, nil, SW_HIDE);

Natürlich ist dieser Code falsch, aber wie schreibt man ihn richtig?



Anatoly Podgoretsky   (2001-11-02 23:18) [5]

Nun, Sie, alle Informationen werden Ihnen gegeben, schließlich sollte jeder die Programme selbst schreiben.
Und was funktioniert bei dir nicht? Funktioniert es von der Kommandozeile aus?
Nun, ich habe nicht "cmd.exe", um die Liste der Schlüssel zu überprüfen (cmd /?), Weder NT, noch \\ printsrv \ epson, aber für Win9x ist der Code ungefähr der folgende, für einen anderen Befehl, den ich kann überprüfen:

ShellExecute (Handle, "open", "C: \ Command.com", "/ c dir C: \ / s", "C: \", SW_SHOWNORMAL);

Ihr Code weist die folgenden Fehler auf:
Der Name des Befehlsprozessors muss aus den Umgebungsvariablen ermittelt werden
Der Prozessor sollte mit den Schlüsseln laufen, die Sie benötigen. Ich habe das / c hier angewendet. Das Standardverzeichnis ist nicht angegeben.

Es ist alles unwichtig, aber es ist unterirdisch.



PONTIY   (2001-11-03 11:38) [6]

Ja, es war wirklich notwendig, den Parameter mit der Taste / C einzustellen, alles funktioniert, danke. In der Tat wird dieses Projekt auf Win9x-Betriebssystemen kaum funktionieren, aber gibt es für die Zukunft eine solche Variable, die einen Befehlsprozessor anzeigt?



Anatoly Podgoretsky   (2001-11-03 15:10) [7]

Führen Sie den Befehl SET in der DOS-Box, ich habe diese COMSPEC
Die Tatsache, dass es auf anderen Betriebssystemen nicht funktioniert, bedeutet nicht, dass in einem bestimmten Betriebssystem der Name des Prozessors cmd.exe lautet oder dass auf den Prozessor zugegriffen werden kann, ohne den Pfad anzugeben.
Und der / C-Schlüssel ist optional, er wirkt sich nur auf das Verhalten des Prozessors sowie auf andere Schlüssel aus



Seiten: 1 ganze Branche

Forum: "WinAPI";
Aktuelles Archiv: 2002.01.08;
Herunterladen: [xml.tar.bz2];

nach oben





Speicher: 0.57 MB
Zeit: 0.032 c
6-22288
atmosphärisch
2001-10-09 23:49
2002.01.08
WinGate


7-22440
Rumrunner
2001-05-13 00:32
2002.01.08
Win98 kann die Internetfreigabe für das lokale Netzwerk zulassen.


4-22469
Zibaro
2001-11-01 19:38
2002.01.08
Bild im Popup-Menü (wie von der Schaltfläche)


1-22226
Knochen
2001-12-15 13:06
2002.01.08
Warum funktioniert dieser einfache Code nicht ...


1-22070
greifen
2001-12-18 21:53
2002.01.08
Schriftverwaltung mit dem POPUP-Menü





Afrikanisch Albanien Arabisch Armenisch Aserbaidschanisch Baskisch Weißrusse Bulgarisch katalanisch Chinesisch (vereinfacht) Chinesische Tradition) kroatisch Tschechisch Dänisch Niederländisch Englisch estnisch Philippinisch Finnisch Französisch
Galicisch Georgisch Deutsch Griechisch haitian Creole Hebräisch Hindi ungarisch isländisch Indonesian irisch Italian Japanisch Koreanisch lettisch litauisch Makedonisch Malay Maltesisch Norwegisch
persisch Polnisch Portugiesisch Rumänisch Russisch serbisch Slovakisch Slowenisch Spanisch Suaheli Schwedisch Thai Türkisch Ukrainisch Urdu Vietnamesisch Walisisch Jiddisch Bengalisch bosnisch
cebuano Esperanto Gujarati Hausa Hmong igbo Javanisch kannada Khmer Laotisch Lateinisch Maorisch Marathi Mongolisch nepali Pandschabi Somalisch Tamilisch Telugu Yoruba
Zulu
Английский Französisch Deutsch Italienisch Португальский Russisch Spanisch