Error al ejecutar un EXE con C#

Iniciado por The_Saint, 3 Mayo 2013, 19:46 PM

0 Miembros y 2 Visitantes están viendo este tema.

The_Saint

Buenas a todos:

Estoy haciendo un programa que se nutre de otro ya hecho y me pasa unos pdf a txt antes de tratarlo.

Si lo ejecuto a manilla desde la consola de dos no hay problema ahora si lo hago con codigo me devuelve este error:
http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1&l=EN-US&k=k(EHCWin32);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv2.0);k(DevLang-csharp)&rd=true

Ahora si ejecuto cualquier comando :
Process.Start(@"notepad.exe");

No tengo ningun problema... no se a que puede deberse y llevo una hora dandole vueltas....

Podeis ayudarme?
<< Si piensas que eres demasiado pequeño para tener impacto.
Prueba a irte a la cama con un mosquito>>

Eleкtro

Hola.

Has leido lo que pone en el enlace que has puesto del MSDN, verdad?

usa la propiedad para obtener el código de error, y encuentra la cause del error aquí: http://msdn.microsoft.com/en-us/library/cc231199.aspx

Espero que sirva de algo.

Saludos!








The_Saint

No encuentro el error segun la lista que me has dado, a mi me devuelve creo:

Errorcode:-2147467259





A ver si alguien puede ayudarme,estoy mas perdido que el barco del arroz jajajaa
<< Si piensas que eres demasiado pequeño para tener impacto.
Prueba a irte a la cama con un mosquito>>

Eleкtro

#3
@Heisenberg_w0rms
Normal que no encuentre el archivo, estás añadiendo los argumentos al nombre de la ruta, los argumentos de la aplicación van separados, a la derecha, no los juntes.

Código (csharp) [Seleccionar]
Process.start(Proceso.exe, Argumentos);
Código (csharp) [Seleccionar]
Process.start(@dirconversor + "ebook-convert.exe", "prueba.pdf prueba.txt");

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start%28v=vs.71%29.aspx

Saludos








kub0x

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.

LOL -> 0x00000002
ERROR_FILE_NOT_FOUND
   

The system cannot find the file specified.
Como bien dice EleKtro, tienes que separar los paramétros de las llamadas al proceso. Su respuesta me imagino que será válida (nunca lo probé de dicha manera), pero aquí te dejo un par de consejos de como lograrlo:

Crea una instancia del cmd mediante la clase Process(), captura su flujo de entrada, escribe en éste la llamada al programa y los parámetros necesarios. De esta manera podrás comunicarte con la aplicación en cuestión.

O bien, crea un proceso que apunte al cmd e inicializa la propiedad FileName y Arguments en el apartado StartInfo (Filename apuntará al ejecutable y Arguments a la lista de argumentos que le quieras pasar a tu programa).

Ambos ejemplos los postee hace un tiempo.

Saludos!
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


The_Saint

kub0x
La verdad es que no se muy bien el método que me estas comentando me puedes poner los link para ojearlos.

EleKtro H@cker
Muchas gracias por la respuesta

Saludos.
<< Si piensas que eres demasiado pequeño para tener impacto.
Prueba a irte a la cama con un mosquito>>

kub0x

En este post expliqué como construir un proceso especificando sus argumentos, path del archivo y propiedades varias que configuran el comportamiento del proceso -> http://foro.elhacker.net/net/msdos_vbnet-t353673.0.html.

Ten en cuenta que hay más formas de hacerlo y algunas más eficientes (Dependiendo de lo que quieras implementar), por ahí queda lo de interactuar con los flujos de Entrada/Salida (E/S) del programa. Échale un vistazo a la clase Process() en la MSDN ;)

Saludos!
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate