Guardar la base de datos de registro del sistema

Este procedimiento permite guardar la base de datos del registro del sistema:





procedure TForm1.SaveRegister(iTimeOutMs: DWORD; sFileName : SHortString);
Var
Ticks: DWord;
StartInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
Fin: Boolean;
Begin
FillChar(StartInfo, SizeOf(StartInfo), #0);
StartInfo.cb := SizeOf(StartInfo);

If CreateProcess(Nil, PChar('regedit.exe /se ' +sFileName),
Nil, Nil, False, 0, Nil, Nil, StartInfo, ProcessInfo) Then
Begin
ShowMessage('Guardando la BD... ');
Ticks := GetTickCount;
Fin := False;

Repeat
Case WaitForSingleObject(ProcessInfo.hProcess, 200) Of
WAIT_OBJECT_0: Fin := True;
End;

Application.ProcessMessages; //Evita que la aplicacion se bloquee
Sleep(250);
Until (Fin) Or (GetTickCount - Ticks > iTimeOutMs);

If (Fin = False) Then
ShowMessage('TimeOut ! No se ha terminado correctamente... ')
Else
ShowMessage('Se ha guardado la BD. ')
End else
ShowMessage('Error al inciar el guardado de la BD ! ');
end;



No hay comentarios:

Publicar un comentario

Simulación del movimiento de los electrones en un campo electrico

Espectacular simulación realizada con OpenGL del movimiento de los electrones cuando atraviesan un campo eléctrico. Como muestra la image...