Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-06-2004
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.418
Poder: 24
fjcg02 Va camino a la fama
Exacto , es lo que necesito, pero ¿ se puede hacer desde un ejecutable y dejar la salia en una variable ?

Gracias por responder.


Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #2  
Antiguo 24-06-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
¿Cual es el comando que te interesa?
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 24-06-2004
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.418
Poder: 24
fjcg02 Va camino a la fama
Cita:
Empezado por jachguate
¿Cual es el comando que te interesa?
Para alimentar tu curiosidad.
Quiero hacer un programa que controle los accesos a mi pc. Hice ayer una pregunta en el foro pero creo que la planteé mal porque nadie me ha respondido.
Al grano, creo que algunos 'compañeros' se conectan a mi pc y me extraen ficheros que son de mi propiedad, que utilizo como diarios de incidencias - soy responsable de un departamento y tengo problemas con un par de 'rebeldes' -. Como no me hacen caso los administradores del sistema - yo no lo soy - ni tengo potestad para instalarme programas de auditoría, ... me hice un script que se lanza cada 5 minutos con el comando arp -a >> fichero. En el fichero busco las macadress de los equipos desde los que creo que se conectan. Esto, hace que se me abra una ventana cmd cada 5 minutos, que se me 'cuela' en el escritorio y me hace perder letras en la aplicación en la que estoy trabajando ( word, excel, correo), ... lo que útlimamente ya me está cansando.
Quiero una solución un poco más elegante - seguro que hay alguna manera muuuucho más sencilla - , y como de sistema no controlo mucho, se me ocurrió la 'brillante' idea.
O sea, que aquí estoy dándole vueltas al tema.

Por cierto, quiero pillarles 'in fraganti' para por lo menos sacarles los colores y pillarles con mi disco mapeado, porque lo denuncié y no me han hecho demasiado caso. Como mi orgullo ha salido herido, pues eso.... pero sin que la sangre llegue al río.

Perdonad la chapa, pero cuando alquien viola tu intimidad, pues eso, te calientas y el derecho al pataleo es lo único que nos queda.


Un saludo a todos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #4  
Antiguo 24-06-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Cool

Cita:
Empezado por fjcg02
Para alimentar tu curiosidad.
No es por simple curiosidad... habrán algunos comandos que se pueden tratar de una forma o de otra...

En el caso del arp, ya lo tenes redireccionado a un fichero, por lo que no necesariamente tenes que "asignar el resultado a una variable" como lo habias planteado.

Cuando lanzas el comando, si lo haces con ShellExecute, podes enviarle sw_hide en el parámetro nShowCmd, de manera que la ventana de consola no sea visible, y seguir tratando el archivo generado por la captura de la salida estándar al concluir su ejecución.

Cita:
Empezado por fjcg02
Al grano, creo que algunos 'compañeros' se conectan a mi pc y me extraen ficheros que son de mi propiedad
Esto se combate con acceso restringido a los recursos compartidos o con otras técnicas que te protejan "a priori" de los intrusos.... un programa que te diga quien ser robó tu información, no será muy util...

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 25-06-2004
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.418
Poder: 24
fjcg02 Va camino a la fama
Hola amigos ( me tomo la libertad de trataros como tal ... )

He estado haciendo pruebas con el tema este de marras y me dice que el fichero donde redirecciono la salida no existe, por lo que parece que no se ejecuta el comando.
Pistas:
- strCommand contiene 'arp -a > c:\borrar.txt', confirmado.
- Si pongo SW_SHOW arranca una ventana porque la veo abrirse y cerrarse.
- Y poco más. Muestro las líneas para comprobar que lo hago bien.
En la ayuda no he encontrado documentación de winexec.
Utilizo Delphi 7

Agradecería cualquier sugerencia o similar.
Adjunto el código

Código:
****************************************************
procedure TFormMain.comprobar;
var n: integer;   strCommand : String; zCommand : array[0..79] of Char;
begin
  strCommand:= EComando.Text+' > '+FileListBox2.Directory+Esalida.text;
  winexec(StrPCopy(zCommand, StrCommand), SW_HIDE);
  Salida.LoadFromFile(ESAlida.Text);
  For n:=0 to Salida.Count-1 do
  showmessage(Salida[n]);
end;

Error: Cuando hace el LoadFromFile dice que el fichero que tiene ESalida.Text no existe.
****************************************************
Un saludo a todos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #6  
Antiguo 25-06-2004
Avatar de jmoran
jmoran jmoran is offline
No confirmado
 
Registrado: jul 2003
Ubicación: Antequera
Posts: 20
Poder: 0
jmoran Va por buen camino
Lightbulb Es problema de WinExec

Hola,

He hecho la prueba que mencionabas y no se crea el fichero porque winexec no interpreta bien la orden, si la ejecutas desde el dos arp -a > c:\result.txt funciona sin problemas pero parece que winexec interpreta el > y el nombre de fichero como parametros de arp y no del sistema, genera un error y no crea el fichero destino.

Si pruebas a ejecutar un bat (WinExec('c:\proceso.bat',.SW_..); y dentro del bat tienes arp -a > c:\result.txt, lo genera sin problemas.

Puedes modificar el código para que autogenere el bat y lo ejecute.

Con respecto a arp, puedes usar tambien net file, que te da la lista de ficheros propios abiertos por otras máquinas en la red, indicando el usuario que lo hace y todo.
Responder Con Cita
  #7  
Antiguo 25-06-2004
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.418
Poder: 24
fjcg02 Va camino a la fama
Gracias, lo porbaré en cuanto pueda.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #8  
Antiguo 24-06-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 23
Gydba Va por buen camino
Buenas,

Si es eso lo que buscas si se puede. Deberías hacer un programa que ejecute lo que necesitas en línea de comandos y que luego obtenga la salida del archivo.

Fijáte en este hilo que hay un ejemplo de WinExec:
http://www.clubdelphi.com/foros/show...hlight=winexec

Para leer el archivo y poder manipularlo con facilidad podrías utilizar un TStringList. De todas formas en este foro se habló bastante de este tipo de temas, quizás sea más útil que te des una vuelta por la búsqueda del foro.
__________________
Suerte
.: Gydba :.
Responder Con Cita
  #9  
Antiguo 24-06-2004
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.418
Poder: 24
fjcg02 Va camino a la fama
Creo que me vale más que suficientemente. Todo el desarrollo por encima ya lo prepararé con calma.

Busqué en los foros antiguos, pero a veces es difícil a bote pronto acertar con las palabras claves a utilizar y que encuentres lo que quieres, sobre todo cuando andas un poco despistado.

Gracias por vuestra ayuda, me habeis dado luz.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:54:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi