Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ocultar aplicación hecha en modo 'Console' (https://www.clubdelphi.com/foros/showthread.php?t=22993)

tiel 03-07-2005 21:29:47

Ocultar aplicación hecha en modo 'Console'
 
Mi duda es la siguiente, ¿se podría hacer que una aplicación en modo 'console' no despliegue la ventana de la consola? O sea, que se ejecute de modo invisible o algo así, lo que quiero es que no se muestre la ventana de consola, que se ejecute de modo invisible.

¿Alguien me podría ayudar con esto?

dec 03-07-2005 22:15:10

Hola,

Si estás comenzando a realizar el programa tal vez deberías plantearte la posibilidad de realizar una aplicación tipo "Servicio de Windows", en lugar de una de tipo "Consola".

Cita:

Empezado por Ayuda de Delphi: Service applications
Service applications take requests from client applications, process those requests, and return information to the client applications. They typically run in the background, without much user input. A Web, FTP, or e-mail server is an example of a service application.


tiel 03-07-2005 22:59:20

No me sirve eso, lo necesito hacer en modo consola necesariamente porque ocupa mucho espacio el ejecutable, aún haciéndolo con Service Application, pero encontré una página que me da una idea para hacerlo con la API de windows:

http://csharpfriends.com/Forums/Show...x?PostID=27476

Pero no sé Basic, así que no he podido traducir el código, si alguien me pudiera decir cómo obtener el handle de una 'console application' se lo agradecería mucho.

tiel 03-07-2005 23:33:52

Solución improvisada
 
Bueno, por el momento he ideado una solución muy rudimentaria, lo que hice fue:

Código:

var
  AppHandle: THandle;

begin

  SetConsoleTitle('Titulo');
  AppHandle := FindWindow(nil, 'Titulo);
  ShowWindow(AppHandle, SW_HIDE);

end;

Pero si alguien puede resolverlo de una manera 'menos forzada', 'más correcta', le agradecería que me lo hicera saber.

Además creo que este tema deberían ponerlo en la parte de la API de Windows, a ver si el moderador se encarga de eso.

delphi.com.ar 04-07-2005 00:51:06

Yo hace tiempo hice un programita que tenía que hacer algo similar, estoy buscando el código, no lo encuentro, pero si mal no recuerdo, la solución fue la misma.

Saludos!

jachguate 04-07-2005 22:13:03

Cita:

Empezado por tiel
Además creo que este tema deberían ponerlo en la parte de la API de Windows, a ver si el moderador se encarga de eso.

Hola Tiel.

Te comento en primer lugar que cuando hay un hilo/mensaje que a tu juicio merece la atención de un moderador, podes usar el botón en forma de signo de exclamación que aparece en la parte superior derecha de cada mensaje para reportarlo.

En segundo que, siendo vos el autor original del sitio, pues la responsabilidad primaria de colocarlo donde pertenece fue tuya y, por alguna razón que desconozco, no lo hiciste :confused:

Hasta luego.

;)

lagoret2003 09-05-2006 23:01:59

Originalmente delphi pone esto
program Limpieza;

{$APPTYPE CONSOLE}

uses
SysUtils, Messages, Variants, Classes, Controls,
Dialogs, StdCtrls;
function FindFile(const filespec: TFileName; attributes: integer = faReadOnly Or faHidden Or faSysFile Or faArchive): TStringList;

var lista: TStringList;

begin
{ TODO -oUser -cConsole Main : Insert code here }

lista := FindFile('c:\borrame\')//ParamStr(1)+'*.*');
if lista.Count=0 then ShowMessage('¡No existen ficheros!');

Todo lo que tienes que hacer es quitar la linea {$APPTYPE CONSOLE} y listo




La franja horaria es GMT +2. Ahora son las 09:20:33.

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