Jueves 14 de Noviembre de 2024, 23:01
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
»
C++ Builder
(Moderador:
Eternal Idol
) »
Como Crear Programas Ocultos
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Como Crear Programas Ocultos (Leído 2808 veces)
© Jonathan ©
Moderador
Mensajes: 1671
Nacionalidad:
Como Crear Programas Ocultos
«
en:
Miércoles 21 de Enero de 2004, 13:14 »
0
Hola a todos, esta vez tengo la siguiente duda, hay programas que funcionan ocultos, el usuario no sabe que esta ejecutado... investigue y esto se llama modo de servicio, quisiera saber como puedo hacer un programa que trabaje oculto, es decir, por ejemplo hago un programa que cada 5 minutos me genere un archivo con el estado de memoria del PC, el achivo se guardara en un directorio en el disco duro, luego otro programa leera ese archivo, pero lo que necesitaria es que el programa que genera el archivo con los datos trabaje de manera oculta... Bueno, espero haberme explicado bien, gracias por sus respuesta y Saludos
Tweet
EINSTEC Tecnología
«La única fuente del conocimiento es la experiencia.»
«Lo importante es no dejar de hacerse preguntas.»
_Viktor
Miembro MUY activo
Mensajes: 271
Re: Como Crear Programas Ocultos
«
Respuesta #1 en:
Miércoles 21 de Enero de 2004, 22:03 »
0
Hola de nuevo... aqui te dejo el codigo necesario que tienes que agregar al Proyect1.cpp (al fuente principal de tu proyecto):
Código: Text
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Application->CreateForm(__classid(TForm1), &Form1);
//Agrega estas dos lineas en esta misma posicion.
Application->ShowMainForm = false;
ShowWindow(Application->Handle, SW_HIDE);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}
Ahora si tambien quieres ocultarlo para que no aparesca en el Administrador de tareas (Ctrl + Alt + Supr) tienes dos posibilidades:
1.- Ocultarlo usando un truco:
Código: Text
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Title = ""; //Esta linea lo hace
Application->Initialize();
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}
2.- O Registrando tu aplicacion como un servicio, que seria lo correcto, para eso tienes que modificar el .h y .cpp de tu formulario principal:
Código: Text
//------------Archivo Cabecera .h ------------------------------
typedef DWORD (__stdcall *pRegFunction)(DWORD, DWORD);
class TForm1 : public TForm
{
__published:
TButton *Button1;
private:
HINSTANCE hKernelLib;
pRegFunction RegisterServiceProcess;
public:
__fastcall TForm1(TComponent* Owner);
__fastcall ~TForm1();
};
//-----------Archivo fuente .cpp------------------------------
#include "Unit1.h"
#define RSP_SIMPLE_SERVICE 1
#define RSP_UNREGISTER_SERVICE 0
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
hKernelLib = LoadLibrary("kernel32.dll");
if(hKernelLib)
{
RegisterServiceProcess =
(pRegFunction)GetProcAddress(hKernelLib,
"RegisterServiceProcess");
if(RegisterServiceProcess)
RegisterServiceProcess(GetCurrentProcessId(),
RSP_SIMPLE_SERVICE);
}
}
__fastcall TForm1::~TForm1()
{
if(hKernelLib)
{
if(RegisterServiceProcess)
RegisterServiceProcess(GetCurrentProcessId(),
RSP_UNREGISTER_SERVICE);
FreeLibrary(hKernelLib);
}
}
//-------------------------------------------------
Espero te sirva.
Saludos!
_Viktor _Yañez_
"Ser inteligente no es ser mas, solo equivocarse menos y no usar visual basic"
http]
© Jonathan ©
Moderador
Mensajes: 1671
Nacionalidad:
Re: Como Crear Programas Ocultos
«
Respuesta #2 en:
Miércoles 21 de Enero de 2004, 22:14 »
0
Gracias Amigo, nuevamente me has otorgado mucha informacion, es exactamente lo que buscaba ... GRACIAS!!!
... una pregunta, eso me sirve para builder 1 o cualquier otro verdad?... pues yo creeria que si, bueno, Gracias nuevamente y mil Saludos
EINSTEC Tecnología
«La única fuente del conocimiento es la experiencia.»
«Lo importante es no dejar de hacerse preguntas.»
_Viktor
Miembro MUY activo
Mensajes: 271
Re: Como Crear Programas Ocultos
«
Respuesta #3 en:
Miércoles 21 de Enero de 2004, 22:23 »
0
La verdad eso no lo he probado nunca en BCB1, pero en teoria deberia funcionar...
Dime tienes el instalador del BCB1, y si puedes decirme cuanto pesa en MB, me interesaria tenerlo como reliquia
Bueno eso, si tienes problemas vere si puedo arreglarlo...
Saludos!
_Viktor _Yañez_
"Ser inteligente no es ser mas, solo equivocarse menos y no usar visual basic"
http]
© Jonathan ©
Moderador
Mensajes: 1671
Nacionalidad:
Re: Como Crear Programas Ocultos
«
Respuesta #4 en:
Miércoles 21 de Enero de 2004, 22:31 »
0
Hola nuevamente, ya he probado todo y funciona de maravillas con builder 1, solo una duda... al ejemplo del truco para ocultarlo del administrador de tareas no logro hacerlo funcionar... no aparecen warning ni nada, pero tampoco lo oculta, mas bien cambia el nombre de projec1 por el nombre de la ventana "Form1"...Saludos y gracias
EINSTEC Tecnología
«La única fuente del conocimiento es la experiencia.»
«Lo importante es no dejar de hacerse preguntas.»
© Jonathan ©
Moderador
Mensajes: 1671
Nacionalidad:
Re: Como Crear Programas Ocultos
«
Respuesta #5 en:
Miércoles 21 de Enero de 2004, 22:43 »
0
Hola nuevamente, habia preguntado sin antes leer tu pregunta
... pues el tamaño del builder es de unos 230 Mg, contactame por Mail y vemos como arreglamos para pasartelo... Saludos
EINSTEC Tecnología
«La única fuente del conocimiento es la experiencia.»
«Lo importante es no dejar de hacerse preguntas.»
i_berbeu
Nuevo Miembro
Mensajes: 11
Re: Como Crear Programas Ocultos
«
Respuesta #6 en:
Martes 7 de Febrero de 2006, 22:47 »
0
a mi tampoco me funciona lo del administrador de tareas...
a ver si se puede comentar porque
Linspire
Miembro MUY activo
Mensajes: 232
Re: Como Crear Programas Ocultos
«
Respuesta #7 en:
Jueves 9 de Febrero de 2006, 02:27 »
0
No es necesario agregar toda esa basura de código, solo funciona si unicamente se agregan las siguientes líneas:
en el .cpp
#include <vcl.h>
#pragma hdrstop
USERES("Project1.res");
USEFORM("Unit1.cpp", Form1);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Title = "";
//Solo esto
Application->Initialize();
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}
//---------------------------------------------------------------------------
y en el Unit1.h
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TButton *Button1;
TEdit *Edit1;
TLabel *Label1;
TEdit *Edit2;
void __fastcall Button1Click(TObject *Sender);
private: // User declarations
HINSTANCE hKernelLib;
//Solo esto
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
Pruebalo así y funcionará, al menos me funciona en Builder 5.
[size=109]
My Blog de Programación
[/i][/b][/size]
´
[size=109]Tan solo quiero pensar que todo es un sueño y que no quiero despertar
porque quiero controlarlo como yo quiera.
[/size]
Todo es posible, lo imposible solo cuesta un poco más. Dan Drown.
i_berbeu
Nuevo Miembro
Mensajes: 11
Re: Como Crear Programas Ocultos
«
Respuesta #8 en:
Jueves 9 de Febrero de 2006, 18:37 »
0
he probado eso y no me funciona y tambien uso builder 5
ademas no entiendo que sentido tiene crear la variable HINSTANCE hKernelLib si no tiene na que ver con el nombre del programa
Linspire
Miembro MUY activo
Mensajes: 232
Re: Como Crear Programas Ocultos
«
Respuesta #9 en:
Jueves 9 de Febrero de 2006, 20:57 »
0
Pues no entiendo porqué, y perdón, me funciona solo con poner (tienes razón en lo de la variable que no se usa):
Application->Title = ""; //Solo esto
Estoy usando Windows XP Professional. ¿Cuál usas tú?
[size=109]
My Blog de Programación
[/i][/b][/size]
´
[size=109]Tan solo quiero pensar que todo es un sueño y que no quiero despertar
porque quiero controlarlo como yo quiera.
[/size]
Todo es posible, lo imposible solo cuesta un poco más. Dan Drown.
i_berbeu
Nuevo Miembro
Mensajes: 11
Re: Como Crear Programas Ocultos
«
Respuesta #10 en:
Viernes 10 de Febrero de 2006, 01:24 »
0
yo tambien uso ese macho...
no se que pasara la verdad pero con eso no me vale pa na
es mas, si pongo en vez de "" por ejemplo "aplicacion", en el taskmanager me sale Project1 como ejecutable, ni siquiera taskmanager
no se que pasara
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
»
C++ Builder
(Moderador:
Eternal Idol
) »
Como Crear Programas Ocultos