SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: vane_arg en Miércoles 6 de Diciembre de 2006, 20:19

Título: Saber Si Se Está Ejecutando Un Programa.
Publicado por: vane_arg en Miércoles 6 de Diciembre de 2006, 20:19
Estoy haciendo un programa que necesita llamar a otro y cuando éste termina, seguir haciendo otras cosas. Y quiero que tenga un botón de cancelar por si uno no quiere que se ejecute más ese otro programa.
El problema es que con la función WaitForSingleObject el programa se queda totalmente clavado mientras espera al otro, por lo que por más que presione el botón de cancelar, el programa no responde hasta que no salga de WaitForSingleObject.
Hay alguna forma de que chekee permanentemente si se presionó alguna tecla mientras espera a que se termine el otro programa sin bloquearse?. Sería algo como DoEvents en visual basic, pero no sé cómo hacerlo en borland c++.
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: dBase3 en Miércoles 6 de Diciembre de 2006, 22:16
Conseguiste hacerlo?
 Sino yo te puedo pasar unos programas al efecto.
Haciendo llamadas a estos programas externos a través de una llama de C al shellexecute u otro,  uno que te devuelve si el programa que quieres esta activado, y por otro lado, otro ejecutable externo que te cierre ese programa y te devuelve si lo pudo cerrar al pulsar el botón cancelar que dices.

Citar
Editado por juank - Estas haciendo SPAM
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: vane_arg en Jueves 7 de Diciembre de 2006, 00:57
Cita de: "Eternal Idol"
PD. El titulo no parece tener que ver con la pregunta.
Quiero saber si se está ejecutando o no para no tener que esperarlo con WaitFor SingleObject y poder chekear si sigue en ejecución o no.

dBase.. me mandarías por mail lo que sea que hayas escrito antes que lo editaron..? escribime_a_esta_direccion@hotmail.com desde ya gracias..

La verdad que es un buen foro para resolver las dudas pero es un tanto irritante los abusos de los moderadores..
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: Mollense en Jueves 7 de Diciembre de 2006, 01:13
<_< SPAAAAAAAAAM........

No, en serio. ¿Que paso?
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: dBase3 en Jueves 7 de Diciembre de 2006, 02:49
@Vane Haces click en Autoit en Españól que está en mi firma y me mandas allí un P.M., un mensaje personal. Hablamos.
Sorry si es mucho Spam pero hay q currar un poco más de lo normal con el programa que quiere hacer, si ella quiere que lo postee luego por aqui.

P.S. Por si no saben de que va, es hacer unos programitas externos para unas funcionalidades.

Gracias Mods.
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: dBase3 en Jueves 7 de Diciembre de 2006, 11:39
Citar
¿Currar? Se nota que no hiciste un programa en tu vida. De eso se trata, si quisieramos tener todo hecho no estariamos en este subforo de C/C++.

Yo paso de Currar ni de hacer un programa en mi vida currando. Despues de probar un montonazo de lenguajes con el unico que es divertido hacer programas es con AUTOIT.
Lo del C y el Visual Basic da miedo y es aburrido, además de dar dolores de estomago.l
Si puedo divertirme con mejores resultados y sin Fat CODE, con ejecutables de 250kb, porque hacer algo tan serio como tu me propones.

Citar
¿Programitas externos? Por favor, no nos des explicaciones ridiculas y date cuenta que para su programa uso ShellExecute y no la basura de codigo inutil que dejaste. Si ahora quisiera hacerlo en ese "lenguaje" seria por una sola razon: no lo puede hacer en C/C++.

Creo que si te pones a leer te das cuenta que te equivocas como siempre, puse bien clarito:  
Citar
Conseguiste hacerlo?
Sino yo te puedo pasar unos programas al efecto.

Citar
Vale pues
De nada spammer.
Da la casualidad que el spamm lo haces tu porque la vane esta lleva ya diez dias con el mismo programa dando vueltas por este foro, que parece que está mendigando, y parece que sigue en el mismo punto que en el primer post que hizo.
Citar
NO ha avanzado nada.
Jorrr, No se si te has dado cuen.Con ir a vane y ver sus posts verás que estoy en lo cierto. Asi o se lo solucionas, o no me des la lata si le doy una solución aunque no sea "TU SOLUCIÓN PERFECTA" si le funciona.

Además si no te gusta hazle tu el codigo, que ya es suficiente que yo curre gratis aquí. Si no te molesta.
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: dBase3 en Jueves 7 de Diciembre de 2006, 13:01
De lo que no conoces no puedes hablar, logicamente. Creo que te estas perdiendo algo.

Que pasa Santo Tomas, no crees lo que no ves,pues para que veas todo el tema ese que queres hacer con el C++ y con la que necesita ayuda, mira como se hace, en 2 lineas de codigo no hay más:

RUN("elprogramitaquequieras.exe",,@sw_hide) ;ejecutas el programa escondido

RUNWAIT("elprogramitaquequieras.exe",,@sw_hide) ; si queres esperar a que acabe

PROCESSCLOSE("elejecutabledelprograma.exe") ; cierras el proceso cuando quieras

o PROCESSWAITCLOSE("elejecutabledelprograma.exe"); si quieres q espere a que se cierre el proceso

Esto es divertido y no volverse loco apretando ALTGR y {}{}[][], con los parentesis y cosas asi, será q tienes el tecaldo inglés, por q a mi no me hace gracia.

Solo era compilar una linea de estas y es el programita externo.
Si las soluciones son soluciones si funcionan, si no da igual, por eso la propuse. No obstante siempre tiene abierto hacerlo por C, yo no dije q lo dejara.
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: RadicalEd en Jueves 7 de Diciembre de 2006, 13:57
Cita de: "dBase3"
Además si no te gusta hazle tu el codigo, que ya es suficiente que yo curre gratis aquí. Si no te molesta.
Llevo 2 años "currando" gratis aca, JuanK lleva desde sus inicios, Blag lleva desde que empezo el foro y Eternal_Idol curra desde hace mucho y nadie se ha puesto a decir que lo hace por dinero.

De verdad te agradezco lo que me haz explicado, pero eres patetico al decir estas palabras.
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: JuanK en Jueves 7 de Diciembre de 2006, 14:12
Cita de: "dBase3"
Además si no te gusta hazle tu el codigo, que ya es suficiente que yo curre gratis aquí.
Gracias!!!! que detalle.... claro que un detalle muy pequeño...
eternal idol y yo llevamos mucho tiempo más en el foro que tu y esta claro que yo se mucho mas de C/C++ que Tú... y que ni que hablar de cuanto más sabe eternal idol de C / C++... creo que esta muy pero muy por encima de ti.

Cita de: "vane_arg"
La verdad que es un buen foro para resolver las dudas pero es un tanto irritante los abusos de los moderadores..

Bueno el foro tiene reglas y jerarquías que hay que respetar... las correcciones de eternal fueron puntuales y acertadas para tu caso.
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: dBase3 en Jueves 7 de Diciembre de 2006, 14:47
Citar
Además si no te gusta hazle tu el código, que ya es suficiente que yo curre gratis aquí. Que parece esta situación como de tener un jefe, y me pagaran
Si lo queres de otra manera. Voy a traducir para que lo entendes:
Citar
Si no te gusta mi solución, haz tu el código de la tuya en vez de protestarme. ¿Que es que no ves que le hago el codigo por gusto y sin cobrar, o es que me pagas?.

Quiero decir con eso: que no me merezco esa respuesta y si estoy trabajando mi solución, pues cada uno con la suya. [/color]:smartass:  Y es de C y tiene que ejecutar un programa externo, lo siento, cosas más difíciles he visto.

Si el piensa que mi solución NO FUNCIONA, QUE ME LO DEMUESTRE en vez hablar.
Yo le he demostrado que por lo menos en la décima parte de lineas de código hago lo mismo QUE en C.
Me enseñaron que el mejor programador es el que menos lineas emplea para un programa(código optimizado) o de que escuela SOS. Solo al no usar las declaraciones ya es el 50% del codigo. ¿Por que no haces un concurso? o no los tenes puestos?.

 :devil:

Y tambien digo que no es justo que si me gusta Autoit, y no lo conoces, pues ya esta es vuestro problema, igual q a otros les gusta el Ada o el Cobol, es muy respetable y veo que algunos no respetan los gustos de los demás.

Eoooo, despertaaadd. Que si estoy aqui es porq quiero estar nadie me ha obligado.¿No os gusta el Freeware,Gpl?y similares o vas a seguir toda la vida con el PagaWare o bien de pirateo.
Y si las opiniones del Spammer ese no os gustaron, sorry, es porq ODIO el SPAMM, principalmente porque abusan de gente informáticamente inculta e inocente .
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: JuanK en Jueves 7 de Diciembre de 2006, 14:49
Yo estoy de acuerdo con que cada aporte es valioso.. pero trata de no convertir en el foro en una ventana publicitaria para el lenguaje del que tanto has hablado.
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: dBase3 en Jueves 7 de Diciembre de 2006, 16:16
Tu sin faltar ... :alien:    Para que veas que soy de palabra... alla vaa
4 Lineas de código no esta nada mal.
Código: Text
  1.  
  2. Opt(&#34;RunErrorsFatal&#34;, 0)&#59;1=fatal, 0=silent set @error
  3. &#036;pid = Run(&#34;notepad.exe&#34;, @ScriptDir, @SW_HIDE)
  4. If @error or not ProcessWait(&#34;notepad.exe&#34;, 15) or  MsgBox(3, &#34;Mi Autoit&#34;, &#34;Esperando:: CANCELAMOS?&#34;)=6 Then Exit
  5. msgbox(0,&#34;Programa de Control&#34;,&#34;Seguimos con lo que sea&#34;,5)
  6.  
  7.  



Compara CancelTread
Código: Text
  1.  
  2. Func CancelThread()
  3.   Return MsgBox(3, &#34;Programa de Control&#34;, &#34;Esperando:: CANCELAMOS?&#34;)=6
  4. EndFunc;==&#62;CancelThread
  5. ==================================
  6. DWORD WINAPI CancelThread(LPVOID lpParameter)
  7. {
  8.  printf(&#34;Esperando:: CANCELAMOS? Y/N&#092;r&#092;n&#34;);
  9.  for (;!Seguir;)
  10.  {
  11.    char x = getchar();
  12.    if (x == 'Y')
  13.    {
  14.      Seguir = 1;
  15.      break;
  16.    }
  17.  }
  18.  return 0;
  19. }
  20.  

Esto me sobró porque ya estaba incluido en el compilador:
Código: Text
  1.  
  2. #include &#60;windows.h&#62;
  3. #include &#60;stdio.h&#62;
  4.  
  5. BOOL Seguir = 1;
  6. DWORD WINAPI WaitThread(LPVOID lpParameter)
  7. {
  8.  PPROCESS_INFORMATION pi = (PPROCESS_INFORMATION)lpParameter;
  9.  WaitForSingleObject(pi-&#62;hProcess, INFINITE);
  10.  Seguir = 1;
  11.  CloseHandle(pi-&#62;hProcess);
  12.  CloseHandle(pi-&#62;hThread);
  13.  return 1;
  14. }
  15.  

Touchee'....
Sumaste fueron 4 lineas de código en Autoit, a cambio de 50 Lineas en C. Haciendo cálculos serán de 12.5 lineas a 1, no esta mal, no? Se que no son los 50kb de C pero para 200Kb no pesa nada.
Y si quieres compilarlo te bajas el paquete  sin explicaciones y lo instalas en 10 minutos.Aqui el link (http://www.emesn.com/autoitforum/viewtopic.php?t=6)
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: dBase3 en Jueves 7 de Diciembre de 2006, 16:45
Citar
Jajaja, el problema es que tu programa NO ES equivalente al mio, tu programa tiene un solo hilo, si abris el notepad (visible obvio) y lo cerras, tu programa se queda preguntando como un imbecil si queres cancelar la ejecucion.
:blink:  :whistling: Creo que no lo has probado, verás que si lo ejecutas el notepad se abre por su lado.

Citar
El mio no, se da cuenta de cualquier evento. En sintesis, tu programa no esta esperando a que se termine el otro, esta haciendo una consulta sobre si ya se termino y despues mostrando un MessageBox.
Creo que estas confundido eso me pasa por no documentar.
La funcion que use es ProcessWait que espera hasta que efectivamente esté en ejecución el programa/proceso, porque (el tuyo no lo comprueba, corrigeme). Como bien sabes puede tardar entre que llamas al ejecutble y luego lee el ejecutable del disco duro unos milisegundos, y evito que se salte sin esperar por el programa.

Si hubiera usado la orden ProcessWaitClose("notepad.exe",15) sería lo tu dices, que lo que haces es que espera que se cierre.

Si quieres esperar a que termine el otro proceso pongo 1 linea más, ahora 5 contra 50, 1 a 10.

Código: Text
  1. Opt(&#34;RunErrorsFatal&#34;, 0);1=fatal, 0=silencioso @error; Para q no sea Fatal lo de ejecutar algo y no exista
  2. &#036;pid = Run(&#34;notepad.exe&#34;, @ScriptDir, @SW_SHOW);arranco el notepad
  3. ProcessWait(&#34;notepad.exe&#34;, 15); Espero hasta q realmente este bien cargado el notepad
  4. msgbox(0,&#34;Programa de Control&#34;,&#34;Seguimos con lo que sea&#34;,5);mensajito informativo
  5. ProcessWaitClose(&#34;notepad.exe&#34;,15);espero que se cierre el programa ejecutado
  6.  
Edit:Como se que me vas a decir el multihilo, con poner if ProcessExist("notepad.exe") en mitad del programa me comprueba cuando quiera que esta en marcha
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: RadicalEd en Jueves 7 de Diciembre de 2006, 16:59
Cita de: "Eternal Idol"
Ah, y me olvidaba de decirte que cualquiera de esos dos programas los puedo meter en menos de 2KB.
Pfff de 2 a 200, prefiero el que ocupa menos, como sera cuando sea un trabajo grande creo que aumentaria horriblemente los ejecutables. :lightsabre:
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: JuanK en Jueves 7 de Diciembre de 2006, 17:08
Por supuesto hay una diferencia notable entre uno y otro, tal como lo dice eternal idol su programa usa tres hilos, uno es el hilo principal, el otro esta ejecutando el proceso y el otro esta esperando a que le digan cuando parar....

Es una gran diferencia.

Para eternal idol: en vez de arremeter con grocerias en contra de spammer explicale el programa porque puede ser que no lo ha entendido tal como le ha pasado a RadicalEd.  :smartass:
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: dBase3 en Jueves 7 de Diciembre de 2006, 17:20
Siguen siendo 18 contra 4 lineas en la version de hilo único. 4,3 contra 1.

Si lo entendí perfectamente, porlo que normalmente cuando le pides a un usuario que elija si quiere seguir o no con un tema, puedes parar la ejecución, del programa porque el notepad no se ha parado sino que sigue ejecutandose por su lado.
Además la misma pregunta lo dice
Citar
Seguimos con lo que sea?

Deberias cambiar la pregunta a Paramos el notepad?

No obstante, voy a hacer la situación ideal, q no real, sin problema unas pocas lineas más de codigo.
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: JuanK en Jueves 7 de Diciembre de 2006, 17:25
El de eternal idol es de 18 porque quizo, porque de resto es pura cuestion de formato... incluso puede hacerlo más pequeño si quiere creo que lo puede dejar de 2 lineas...  :whistling:

Código: Text
  1. 1 #include &#60;windows.h&#62;
  2. 2 void main()
  3. 3 {STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory(&si, sizeof(si)); si.cb 4 = sizeof(si); ZeroMemory(&pi, sizeof(pi));
  4. 5  if (CreateProcess(&#34;c:&#092;&#092;windows&#092;&#092;notepad.exe&#34;, 0, 0, 0, 0, 0, 0, 0, &si, &pi))
  5. 6  {int res = MessageBox(0, &#34;Cancelamos?&#34;, &#34;Esperando&#34;, MB_YESNO);
  6. 7    if (res != IDOK)
  7. 8      WaitForSingleObject(pi.hProcess, 15000);}
  8. 9  MessageBox(0, &#34;Con lo que esa&#34;, &#34;Seguimos&#34;, 0);}
  9.  
 :smartass:
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: Mollense en Jueves 7 de Diciembre de 2006, 17:27
:brickwall:

"C/C++" vs "Autoit"

Dios mio, que ridiculez  :bad:

 :clown:
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: JuanK en Jueves 7 de Diciembre de 2006, 17:36
Las lineas de código y la cantidad de caracteres no dicen nada... lo que si dice es el esfuerzo utilizado, el consumo de recursos y la funcionalidad creada...   :rolleyes:
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: dBase3 en Jueves 7 de Diciembre de 2006, 18:05
Ahora sí....
De 50 lineas de Código pasamos a 16.Un tercio de tecleo y sin {}}. Ejecuta el código que quieras poner donde pone ;corre el código que quieras aquí.
No vas a comparar la calidad de la ventana gráfica comparada con el msgbox. Con un botón bien grandito, para que se vea bien el cancelar
El notepad.exe corre solo llamandolo.

Código: Text
  1.  
  2. #include &#60;GUIConstants.au3&#62;
  3. Opt(&#34;RunErrorsFatal&#34;, 0);1=fatal, 0=silent set @error
  4. Local &#036;pid = Run(&#34;notepad.exe&#34;, @ScriptDir, @SW_HIDE);
  5. Local &#036;gui = GUICreate(&#34;MI Ventana Guapa&#34;, 200, 150, 50, 50)
  6. Local &#036;lbl = GUICtrlCreateLabel(&#34;Esperando:: CANCELAMOS?&#34;, 15,15, 100, 50)
  7. Local &#036;btn = GUICtrlCreateButton(&#34;CANCEL&#34;, 15, 45, 180, 70)
  8. GUISetState(@SW_SHOW)
  9. While ProcessExists(&#036;pid)
  10.   If MsgHandler() = 0 Then ProcessClose(&#036;pid)
  11. ; corre el código que quieras aquí ..............
  12. WEnd
  13. Func MsgHandler()
  14.   Local &#036;msg = GUIGetMsg()
  15.   If &#036;msg = -3 Or &#036;msg = &#036;btn Then Return 0
  16.   Return 1
  17. EndFunc &#59;==&#62;MsgHandler
  18.  

Versión buena del otro programa sin multihilo, q hace lo misma que el tuyo a 1/4 de código.
Código: Text
  1. Opt(&#34;RunErrorsFatal&#34;, 0);1=fatal, 0=silent set @error
  2. &#036;pid = Run(&#34;notepad.exe&#34;, @ScriptDir, @SW_HIDE)
  3. If @error or not ProcessWait(&#34;notepad.exe&#34;, 15) Then Exit
  4. if MsgBox(3, &#34;Mi Autoit&#34;, &#34;Esperando:: CANCELAMOS?, El notepad no se para&#34;)=6  then ProcessClose(&#34;notepad.exe&#34;)
  5.  
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: dBase3 en Jueves 7 de Diciembre de 2006, 18:13
Bueno si te doy la razón lo de los threads es una gozada y esta muy bien, pero realmente siempre se hacen trucos para obviarlo (sin quitarle el valor a lamultitarea)

Como ves la pantalla gráfica simula el multihilo corriendo en un while y esperando a que respondan, al Cancelar. como ves el codigo no se ha parado, sigue ejecutandose dentro del while

El usuario como que no se da cuenta, del hilo.

Yo se que el se es más potente en cuanto a multihilo y objetos, y algún detalle más, pero eso no obvia que las ventajas de trabajar  con tres funciones hacer un monton de cosas y que los tipos no sean tan rígidos. Pues sí.

Solo queria que comprobaran el ahorro de código que hay y que cambiaran el concepto, ese ya que no hay ningún sistema que tenga todo ventajas.

Para hacer algo rápido que te piden tampoco esta mal, de sobre la marcha.
De todas maneras compila lo de la ventanita, que no ha quedado mal del todo..
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: JuanK en Jueves 7 de Diciembre de 2006, 18:18
Bueno, lastima que eternal haya borrado algunos post...

Dbase3 si bien tu código se aproxima mas a lo que piden que antes.. le falta mucho para hacer lo que hace el de eternal idol tal cual... siguen habiendo grandes diferencias.

pero bueno ya fin.
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: dBase3 en Jueves 7 de Diciembre de 2006, 18:20
lo reconozco pero tambien reconoce que:

Mira para que sepas el multihilo que dices tambien es simulado porq el procesador por mucho que quieran tampoco trabaja en multihilo real. Llevan con el Windows por lo menos mucho tiempo con eso. (no digo el Linux) :lol:

Lo que se basa es en dividir el tiempo del procesador en varias tareas y asi hacer varias cosas distribuyendo el procesador y lo demás. Con poner una cola de mensajes y de tareas ya está.

Pero bueno seguro que parece multihilo.. :ph34r: .

Además en todos los programas que he hecho, no visto reales problemas con eso porq siempre hay truquitos y colas, y banderas, etc... vaya que el if se usa...  :hola:

Me pareció muy entretenido esto de la carrera de programas, si van a hacer más entre varios lenguajes me avisan (dejando simular lo que un lenguaje no tenga), por lo menos se aprende algo. Gracias Gente.

@Radikal_ed lo máximo que ocupa cualquier código son 600kb, como mucho.
Es tonto quien dice que el C no es lo más potente y nunca lo diré. Es C, vaya con lo que hicieron el Linux y el Windows. Fundamentalmente potente.

Aunq funcione muy bien, no quiere decir que sea lo perfecto que nos dicen del windows,  todo es un truco con una cola de procesos del sistema(ineficiente claro), aqui lo explican:
Es el time Slicing o hacernos creer que las instrucciones va en paralelo cuando
van   en serial (http://www.1beyond.com/company/press_octoflex.asp?search=press_releases)
LLevan desde el Windows 3.11 sin cerrar el tema, Link aqui, porque actualmente nuestras CPUs sólo pueden ejecutar un proceso cada vez (http://www.gui.uva.es/login/login/15/process.html) :whistling:  :devil:
Al final son colas de procesos a nivel del S.O. :angry:
:)
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: JuanK en Jueves 7 de Diciembre de 2006, 19:47
Cita de: "dBase3"
Me pareció muy entretenido esto de la carrera de programas, si van a hacer más entre varios lenguajes me avisan (dejando simular lo que un lenguaje no tenga), por lo menos se aprende algo. Gracias Gente.
 
Si quieres de verdad promocionar tu lenguaje preferido sin hacer SPAM te invito a demostrar tus conocimientos y las capacidades tuyas y del lenguaje con esto:

http://foros.solocodigo.com/index.php?showtopic=23479 (http://foros.solocodigo.com/index.php?showtopic=23479)
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: dBase3 en Jueves 7 de Diciembre de 2006, 19:57
Bueno no quiero seguir ya que considero que en esta carrera, debería haber un arbitro imparcial, pero objetivamente:

(Si corriges y funciona) Tu ganaste en calidad de código Por multiHilo Real (no simulado), está bueno y currado.

Yo gané en cuanto longitud en número de lineas, y entorno gráfico, cubriendo en un mínimo los objetivos. No se si los comparaban con las mujeres, un tipazo pero no le envies a ganar un maratón.
 :devil:

@Juank, Vaya retazo, voy a estudiar si cojo el testigo, va a ser un reto de verdad ya que lo mio no son los gráficos , sino las bases de datos, contabilidades, parsing y gestión de strings.

Ahora que se esta acabando este, Porque no haces el siguiente  reto:
 Hacer un lenguaje tipo CGI que compita con el PHP y lo mejore,  con funciones de desarrollo rápido.
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: vane_arg en Jueves 7 de Diciembre de 2006, 20:07
Cita de: "Eternal Idol"
Nada que tenga que ver con otros lenguajes tendria que quedar y la solucion prefiero no dejarsela a esta desagradecida que esta haciendo una estupidez de por si. Ejecutar un programa OCULTO y esperar que por arte de magia se cierre.
Bueno si te parece una estupidez entonces no me ayudes y listo, no me parece que tengas que tratarme de desagradecida si intento alguna solución que no sea la que me diste vos.. El programa que quiero llamar es el lame, para codificar en mp3, que se ejecuta en ms-dos y queda bastante feo que además del programa principal, se abran y se cierren otras ventanas en dos, no veo por qué pueda ser una estupidez pretender que no se vea. No espero a que por arte de magia se cierre, tengo que esperar a que termine para seguir con la próxima canción, sinó se abriría una infinidad de instancias del lame, que con uno solo te ocupa todo el procesador si uno lo hace con el máximo de calidad. Y si te parece una estupidez, te repito: no digas nada y listo..
Comprendo que para alguien que es un experto en algo, le pueda dar cierto fastidio tener que explicar cosas básicas a alguien que sabe menos que vos, si ésto es sólo un foro para cuestiones avanzadas, decime y no pregunto más nada acá y listo. Lo que pasa es que yo no estudio ingeniería en sistemas sino electrónica, y programación es una materia más que se ve muy a la ligera. Nos enseñan a programar en un compilador viejísimo que funciona en dos y requiere windows 98 tanto para programar como para correr los programas. Y cuando me enteré que existía siquiera esto de la programación, porque antes ni lo sabía.., empecé a aprenderlo por simple interés nomás, y todo lo que se de programación en c++ 6 lo aprendí de la ayuda del C y leyendo y preguntando en internet. Pero hay casos en que no se puede ser 100% autodidacta y hace falta que alguien te explique algunas cosas.
Ya sé que si no me hubieras mencionado que se puede hacer con ShellExecute y WaitForSingleObject yo no me hubiera enterado que existen esas funciones y no me hubiera puesto a averiguar sobre cómo usarlas. Te lo reconozo totalmente y te lo agradezco.. pero si uno pregunta algo me parece que necesita algo más que el nombre de la función y tener que leer sobre ella en la ayuda de msdn, que está escrita por y para profesionales.. Hace un rato vi que habías puesto un código más completo y pensé que por fin había encontrado algo que sí pudiera investigar más o menos para que me pueda quedar claro pero paré para ir a almorzar y al volver ya no está..
Obvio que la idea mia es aprender a hacer lo que yo quiera con C, y no lo lograría si ante cualquier problema recurriera a otro lenguaje o programa, aunque no me molesta para nada si alguien tiene la buena voluntad de sugerir algo que no tenga que ver con C
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: JuanK en Jueves 7 de Diciembre de 2006, 20:12
Citar
@Juank, Vaya retazo, voy a estudiar si cojo el testigo, va a ser un reto de verdad ya que lo mio no son los gráficos , sino las bases de datos, contabilidades, parsing y gestión de strings.

Ahora que se esta acabando este, Porque no haces el siguiente reto:
Hacer un lenguaje tipo CGI que compita con el PHP y lo mejore, con funciones de desarrollo rápido. 

Yo no lo haria porque eso es lo que yo llamo un reto aburrido ( o sea que se parece a las cosas que hago en la oficina). Sin embargo cualquiera puede publicar un reto desde que cumpla con los requisitos.

Citar
debería haber un arbitro imparcial

Bueno yo no soy arbitro, yo solo emito mis opiniones legítimamente.
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: vane_arg en Jueves 7 de Diciembre de 2006, 20:55
Cita de: "Eternal Idol"
Estas confundida, a mi la solucion que uses me da lo mismo, pero pedila en donde corresponda, si pedis una solucion a un problema de C/C++ en un subforo de C/C++ es lo que tenes que recibir. Y no dije desagradecida por eso sino porque te quejaste de que se haya editado el mensaje del spammer.
Y si estoy haciendo el programa en C, en qué foro debería hacer la pregunta..?
Ya sé que el lame tiene una dll pero no tengo ni idea de cómo usar las funciones desde c..

Además es un poco difícil responderte ya que si no leiste todo mi mensaje podés haber entendido cualquier otra cosa.
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: vane_arg en Jueves 7 de Diciembre de 2006, 21:19
Al final sos tan estricto con las reglas del foro y vos lo usás como si fuera un chat, que escribís los posts y los borrás a los cinco minutos.
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: dBase3 en Jueves 7 de Diciembre de 2006, 22:55
@vane_arg
Citar
Y si estoy haciendo el programa en C, en qué foro debería hacer la pregunta..?
Ya sé que el lame tiene una dll pero no tengo ni idea de cómo usar las funciones desde c..
Si lo estas haciendo bien, tu deberías trabajarlo un poco más, seguro que es un esfuerzo lo que te queda, nadie está obligado a responderte .. No hay garantía de nada.
Citar
Al final sos tan estricto con las reglas del foro y vos lo usás como si fuera un chat, que
escribís los posts y los borrás a los cinco minutos.
Cada uno tiene su genio, es posible que esperen que pongas más de tu parte. Y que no mandes.
Citar
Aunque no me molesta para nada si alguien tiene la buena voluntad de sugerir algo que no tenga que ver con C.  Y cada persona es diferente.
Lo conseguiste, te hice tu código completo Pero por favor, ni una sola pregunta más del tema este, ya esta olvidado el lame and Co. Ahora sigue tu camino con este tema.


Si puedes abrirte otro tópico para otras cosas o con otro tema, o respondes a alguien. Este esta ya LLENO.
Si te diviertes ayudando en el foro tambien depende la otra parte, ayuda es una cosa y trabajo es Otra.
Posdata: ¿No lo necesitaras para convertir los ficheros de texto txt en voces wav  y luego MP3, de las voces SAPI, para IA?
Porque si es así te queda ALGO que trabajar. Si es solo música no tienes problema. Ciao Suerte........
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: vane_arg en Viernes 8 de Diciembre de 2006, 00:55
Cita de: "dBase3"
Lo conseguiste, te hice tu código completo Pero por favor, ni una sola pregunta más del tema este, ya esta olvidado el lame and Co. Ahora sigue tu camino con este tema.
Si puedes abrirte otro tópico para otras cosas o con otro tema, o respondes a alguien. Este esta ya LLENO.
Si te diviertes ayudando en el foro tambien depende la otra parte, ayuda es una cosa y trabajo es Otr
No vi ningún código completo pero de todos modos en ningún momento pedí eso..

Y no entiendo tu autoridad para decirme que no puedo volver a hacer otra pregunta sobre el tema éste, si te registraste en el foro un dia antes que yo, estás lejos de ser moderador.. De todos modos no te preocupes que no voy a volver a hacer ninguna otra pregunta de ningún otro tema, si supuestamente uno puede consultar las dudas que tenga y me hacen sentir una estúpida porque el tema de la pregunta era algo básico o porque les parece una estupidez el programa que yo quiera hacer. Pero te lo puedo jurar que es por eso y no porque vos me digas que no puedo postear más nada..

Otra cosa.. yo sobre el tema escribí uno o dos mensajes en el hilo este, no tengo por qué aguantar que me hechen la culpa a mi de las discuciones entre vos y el tal eternal sobre si es mejor el C o el coso ese que publicitás vos.
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: dBase3 en Viernes 8 de Diciembre de 2006, 02:39
No lo entiendes. Creo que todos ya saben donde esta el código ese q buscas, fresco del horno para echarle la mantequilla. Si no lo descubres es que no es para ti. Fácil. Es un acertijo y eso está entre las letras que escribí aquí. :comp:

Porq muchas veces las cosas no son como se dicen sino como se quieren entender. No es porq ni tu ni yo hallamos cometido un error, sino porq alguien no se esperaba lo que pasó y siente que hemos hecho una acción amenazante.

No hay más razón del respeto a la subjetividad y a la personalidad ajena.

Diviértete y aprende lo que te guste. :comp:  Parece que alguien se ha levantado bruscamente de la partida. Y ese no era el objetivo. Yo por ahora lo he pasado entretenido por aqui, y espero que tu también si empiezas a esperar algo positivo del foro. Es tu elección. :comp:

Felicidades por haber llegado hasta aquí  y unas navidades divertidas.
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: JuanK en Jueves 14 de Diciembre de 2006, 13:26
Cita de: "Angel_K_ido"
:hitcomp:, esta discucion ahora si fue patetica :no:, si tu lenguaje es tan bueno proponlo para que se aprenda sobre el,pero no hagas publicidad como si buscaras clientes, y para todos yo creo que hay que dejar de creer ser superiores a los demas (al que le quede el saco  :ph34r: )

bueno, lamento que se hayan borrado los post de eternal idol porque habrian hecho mas entendible el hilo... pero ni modo.
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: Mollense en Jueves 14 de Diciembre de 2006, 16:26
Cita de: "JuanK"
Cita de: "Angel_K_ido"
:hitcomp:, esta discucion ahora si fue patetica :no:, si tu lenguaje es tan bueno proponlo para que se aprenda sobre el,pero no hagas publicidad como si buscaras clientes, y para todos yo creo que hay que dejar de creer ser superiores a los demas (al que le quede el saco  :ph34r: )

bueno, lamento que se hayan borrado los post de eternal idol porque habrian hecho mas entendible el hilo... pero ni modo.
Hepa  :blink:

Que yo no dije eso maesces  :hippi:
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: JuanK en Jueves 14 de Diciembre de 2006, 16:30
miercoles algo paso!!! por que eso era un quote de nu comentario del hilo, y ese post estaba anombre de otra persona pero era mio  :blink:  y crei que me habia confundiodo... pero veo que fue peor de lo que crei :S algo paso.!
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: F_Tanori en Jueves 14 de Diciembre de 2006, 16:36
Ayer me aparecia a mi :P eso parece estar corregido pero como dice Angel_K_ido la cita no es de él :P
Título: Re: Saber Si Se Está Ejecutando Un Programa.
Publicado por: Mollense en Jueves 14 de Diciembre de 2006, 17:42
Paz y amor muchachos.  :hippi:  
:wacko: