Disculpa no se a que te refieres específicamente pero hay va lo que necesito, Tengo un sistema que registra las novedades en una empresa X, y lo que necesito hacer es que cuando se registre una novedad nueva que cumpla con los parámetros X y Z, envié un correo a un listado de usuario, el problema principal es que en la maquina donde se registran estos eventos no cuenta con Internet y quisiera que otra computadora lo hiciera y que fuera transparente para el usuario de ese equipo, mi idea principal es que se ejecutara como un servicio de windows pero mi delphi no tiene la opción para crear programas como servicios, la otra opción era ejecutar el programa al iniciar el programa pero me gustaría que se quedara minimizado y se quedara como si fuera el msn y que el usuario no intervenga para nada con el sistema, les paso el código que uso para el envió del correo
Esta función me permite saber si esta conectado el cable o esta conectado a una red inalambrica, Aclaro para que funcione la funcion InternetGetConnectedState hay que incluir en el uses "WinInet"
Código Delphi
[-]
function IsConnected: boolean;
const
INTERNET_CONNECTION_MODEM = 1;
INTERNET_CONNECTION_LAN = 2;
INTERNET_CONNECTION_PROXY = 4;
INTERNET_CONNECTION_MODEM_BUSY = 8;
var
dwConnectionTypes : LongWORD;
begin
dwConnectionTypes := INTERNET_CONNECTION_MODEM +
INTERNET_CONNECTION_LAN +
INTERNET_CONNECTION_PROXY;
Result := InternetGetConnectedState(@dwConnectionTypes,0);
end;
y con esta función reviso y hay Internet y envió el correo
Código Delphi
[-]
Function TDataModule7.sendMail(Asunto,bODY:string):Boolean;
Var
hSession: HInternet;
begin
If IsConnected then
begin
hSession := InternetOpen(PChar(application.title),INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0);
If Assigned(InternetOpenURL(hSession, pChar('Http://www.google.com'), nil, 0, 0, 0)) then
begin
idMessage.FromList.EMailAddresses := 'Y@gmail.com';
idMessage.From.Name:='Nombre Cuenta';
idMessage.Recipients.EMailAddresses := 'X@hotmail.com';
idMessage.Subject := Asunto;
idMessage.Body.Add(Body);
idSMTP.Username := 'x';
idSMTP.Password := '123456';
try
idSMTP.Connect;
if idSMTP.Connected then
begin
idSMTP.Send(IdMessage);
Result:=True;
end
Else
Result:=False;
finally
if idSMTP.Connected then
idSMTP.Disconnect;
end;
end
else
Result:=False;
end
else
Result:=False;
end;
De antemano muchísimas gracias por su poyo, Saludos