Casa
Top.Mail.Ru Yandeks.Metrika
Foro: "WinAPI";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

abajo

WinExec o ShellExecute Encontrar ramas similares


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

Quería imprimir el archivo de texto (codificación DOS) con un comando simple en el shell: copiar c: \ aa.txt \\ printsrv \ epson
Intenté hacer esto con la función ShellExecute, como esta:
ShellExecute (Handle, "print", "aa.txt", "D: \\ printsrv \ epson", nil, SW_HIDE);
Nada sucedió, abrió el bloc de notas e imprimió, como resultado, la codificación del texto sufrió. Y a pesar de la indicación explícita del parámetro (ruta del dispositivo), siempre imprimió en la impresora instalada en el sistema de forma predeterminada. ¿Qué más se puede hacer lejos de estas funciones?



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

Si desea utilizar un shell, debe invocar un procesador de comandos y enviarlo como un argumento al comando de copia.



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

¿Y cómo hacer esto, puedes dar un ejemplo en el código?



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

Copie el procesador c: \ aa.txt \\ printsrv \ epson
Empiezas con ShellExecute
El nombre del procesador se conocerá a través de las variables del sistema.



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

2 Anatoly Podgoretsky

¿Me guardas para un idiota? :) muestra cómo usar este comando de consola en ShellExecute. Como este ...
ShellExecute (Handle, "open", "cmd.exe", "copy c: \ aa.txt \\ printsrv \ epson
, nil, SW_HIDE);

Naturalmente, este código es incorrecto, pero ¿cómo escribirlo correctamente?



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

Bueno, tú, toda la información se te da, después de todo, todos deberían escribir los programas él mismo.
¿Y qué no te funciona? ¿Funciona desde la línea de comandos?
Bueno, no tengo "cmd.exe" para verificar la lista de sus claves (cmd /?), Ni para probar NT, ni para \\ printsrv \ epson, pero para Win9x el código es aproximadamente el siguiente, para otro comando que puedo comprobar

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

Su código sufre de los siguientes errores:
El nombre del procesador de comandos se debe obtener de las variables de entorno
El procesador debe ejecutarse con las claves que necesita, apliqué el / c aquí, el directorio predeterminado no está especificado.

Todo esto no es importante, pero es subsuperficial.



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

Sí, fue realmente necesario comenzar a configurar el parámetro con la tecla / C, todo funciona, gracias. De hecho, este proyecto casi nunca funcionará en los sistemas operativos Win9x, pero aún para el futuro, ¿existe tal variable que indique un procesador de comandos?



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

Ejecutar el comando SET en el cuadro de dos, tengo este COMSPEC
El hecho de que no funcione en otros sistemas operativos no significa que en un sistema operativo específico el nombre del procesador sea cmd.exe o que se pueda acceder al procesador sin especificar la ruta.
Y la tecla / C es opcional, solo afecta el comportamiento del procesador, así como otras teclas



Páginas: 1 rama entera

Foro: "WinAPI";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

arriba





Memoria: 0.56 MB
Tiempo: 0.032 c
6-22308
Igor
2001-10-14 09:44
2002.01.08
Intercambio de datos entre cliente y servidor en Delphi


1-22058
$ Hic0
2001-12-16 11:49
2002.01.08
TTreeView y TListView


1-22264
Anatoly
2001-12-17 06:36
2002.01.08
Gráfico


3-21967
SklifF
2001-12-05 11:32
2002.01.08
sobre SQL


6-22307
leviatán
2001-10-12 12:54
2002.01.08
NMFTP apesta !!!!





africaans albanés Arabic armenio Azerbaiyán vasco Bielorruso Bulgarian Catalán Chino (simplificado) Chino (tradicional) Croata Checo Danés Dutch Inglés Estonia filipina Finnish French
gallego georgiano Alemán Griego criollo haitiano Hebreo hindi Húngaro islandés Indonesian irlandés Italiano Japonés Korean letón lituano macedonio Malay maltés Noruego
persa polaco Portuguese Rumano Ruso Serbio Slovak Esloveno Español swahili Sueco Thai turco ucranio Urdu vietnamita galés yídish bengalí bosnio
cebuano esperanto gujarati hausa hmong igbo javanés kannada khmer lao latín maorí marathi mongol nepali punjabi somalí Tamil telugu yoruba
zulú
Английский Francés Alemán Italiano portugués Русский Español