hola, estoy haciendo una aplicacion, usando udp y un timer, mi problema es que la aplicacion no me permite reiniciar la computadora en la cual va a correr, este computadora tiene windows 2000, super urge que esta aplicacion permita cerrar windows, ya que cerrando mi aplicacion, el sistema reinicia normalmente, anexo aqui el codigo que uso:-------
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//Declaracion del objeto ini de tipo TIniFile
TIniFile *ini= new TIniFile(ChangeFileExt(Application->ExeName,".ini"));
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
try
{
//Manejo de UDP
TMemoryStream *MyStream;
AnsiString TmpStr=id;
MyStream=new TMemoryStream();
MyStream->WriteBuffer(TmpStr.c_str(), TmpStr.Length());
NMUDP1->SendStream(MyStream);
NMUDP2->SendStream(MyStream);
//MyStream->Free();
}
catch (...)
{
//
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
//Inicializacion del programa
Form1->Width=0;
AnsiString host1=ini->ReadString("main", "host1", valor);
AnsiString host2=ini->ReadString("main", "host2", valor);
AnsiString timer=ini->ReadString("main", "intervalo", valor);
AnsiString puerto=ini->ReadString("main", "puerto", valor);
id=ini->ReadString("main", "id", valor);
NMUDP1->RemoteHost=host1;
NMUDP1->RemotePort=StrToInt(puerto);
NMUDP2->RemoteHost=host2;
NMUDP2->RemotePort=StrToInt(puerto);
conv=0;
conv=timer*10000;
Timer1->Interval=StrToInt(conv);
}
//---------------------------------------------------------------------------
Gracias 