casa
Top.Mail.Ru Yandeks.Metrika
Forum: "WinAPI";
Archivio attuale: 2002.01.08;
Scarica: [xml.tar.bz2];

giù

WinExec o ShellExecute Trova rami simili


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

Volevo stampare il file di testo (codifica DOS) con un semplice comando nella shell: copia c: \ aa.txt \\ printsrv \ epson
Ho provato a farlo con la funzione ShellExecute, quindi:
ShellExecute (Handle, "print", "aa.txt", "D: \\ printsrv \ epson", nil, SW_HIDE);
Non è successo nulla, ha aperto il blocco note e ne ha stampato fuori, di conseguenza, la codifica del testo ha sofferto. E nonostante l'indicazione esplicita del parametro (percorso del dispositivo), ha sempre stampato sulla stampante installata nel sistema per impostazione predefinita. Cos'altro si può fare lontano da queste funzioni?



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

Se si desidera una shell, è necessario richiamare un processore di comandi e inviarlo come argomento al comando copy.



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

E come si fa, puoi dare un esempio nel codice?



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

Copia c: \ aa.txt \\ printsrv \ epson
Si inizia con ShellExecute
Il nome del processore sarà noto attraverso le variabili di sistema.



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

2 Anatoly Podgoretsky

Mi tieni per un idiota? :) mostra come utilizzare questo comando della console in ShellExecute. Così ...
ShellExecute (Gestisci, "apri", "cmd.exe", "copia c: \ aa.txt \\ printsrv \ epson
, nil, SW_HIDE);

Naturalmente questo codice è sbagliato, ma come si scrive correttamente?



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

Bene, tu, tutte le informazioni ti sono state date, dopotutto, tutti dovrebbero scrivere i programmi da solo.
E cosa non funziona per te? Funziona dalla riga di comando?
Beh, non ho "cmd.exe" per controllare l'elenco delle sue chiavi (cmd /?), Né NT da provare, né \\ printsrv \ epson, ma per Win9x il codice è approssimativamente il seguente, per un altro comando che posso check out:

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

Il tuo codice soffre dei seguenti errori:
Il nome del processore di comandi deve essere ottenuto dalle variabili di ambiente
Il processore dovrebbe funzionare con i tasti necessari, ho applicato il / c qui, la directory predefinita non è specificata.

Non è importante, ma è sottosuperficie.



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

Sì, era davvero necessario iniziare a impostare il parametro con il tasto / C, tutto funziona, grazie. In effetti, questo progetto difficilmente funzionerà sui sistemi operativi Win9x, ma ancora per il futuro, esiste una variabile di questo tipo che indica un processore di comandi?



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

Esegui il comando SET nella casella dos, ho questo COMSPEC
Il fatto che non funzioni su altri sistemi operativi non significa che in un sistema operativo specifico il nome del processore sarà cmd.exe o che il processore sarà accessibile senza specificare il percorso.
E il tasto / C è opzionale, influisce solo sul comportamento del processore e su altri tasti



Pagine: 1 tutto il ramo

Forum: "WinAPI";
Archivio attuale: 2002.01.08;
Scarica: [xml.tar.bz2];

al piano di sopra









Memoria: 0.58 MB
Ora: 0.027 c
14-22331
Basco
2001-10-26 17:57
2002.01.08
Ci sono molti mancini tra i programmatori?


1-22142
principiante
2001-12-20 10:42
2002.01.08
ReplaceDialog


1-22220
Kandyl
2001-12-16 15:10
2002.01.08
Come evitare l'eliminazione di qualsiasi cartella senza appendere nel vassoio?


14-22327
FLIZ
2001-11-05 15:39
2002.01.08
e dicono che dopodomani è una vacanza?


1-22146
Mikle
2001-12-19 17:19
2002.01.08
Glitch durante la stampa su una stampante ad aghi





afrikaans albanese Arabic armeno Azero basco bielorusso Bulgarian catalano Cinese (semplificato) Cinese (tradizionale) croato Ceco danese Dutch Inglese estone filippina Finnish Francese
galiziano georgiano Tedesco greco Creolo haitiano ebraico hindi ungherese islandese Indonesian irlandese Lezioni Giapponese Korean lettone lituano macedone Malay maltese Norwegian
persiano polacco Portoghese rumeno Russian serbo Slovak sloveno Spagnolo swahili Swedish Thai turco ucraino Urdu vietnamita gallese yiddish bengalese bosniaco
Cebuano esperanto Gujarati Hausa Hmong Igbo giavanese kannada khmer lao latino maori marathi mongolo nepali punjabi somalo tamil telugu Yoruba
zulù
Английский Francese tedesco italiano portoghese russo spagnolo