Codigo de validacion booteable

Quiero poner un código de acceso para que al encender la computadora antes de que inicie el WIN (XP) pida una contraseña y que la valide después de validar proceda a ejecutar el XP.
No se si me entiendas este progra lo quiero entre en inicio del BIOS y el Arranque del Windows, también si es posible que el mismo programa vaya borrando la clave usada, por ejemplo prendo la maquina me pide una clave y le pongo un 33 e inicio, después que se apage y vuelva a encender la clave 33 ya no sea valida. Estoy haciendo un código en C que es el siguiente:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
static int nip1=22, nip2=33, nip3=88, nip4=66, nip5=77, nip6=99, nip;
void main(void)
{
void ENTRA (void);
char opc;
do
{
clrscr();
ENTRA();
fflush(stdin);
}
while(opc=='s');
}
void ENTRA (void)
{
int cont=0,cont1=0;
do{
clrscr();
gotoxy (30,2);cprintf("Introduzca su NIP: ");
scanf("%d",&nip);
if (nip==nip1||nip==nip2||nip==nip3||nip==nip4||nip==nip5||nip==nip) cont1 = 1;
{
gotoxy (30,16);cprintf("Bienvenido");
}
else{
gotoxy (30,14);cprintf("NIP incorrecto.");
getch();
cont++;
if (cont==3)
{
gotoxy (30,16);cprintf("Los Flojos no Utilisan La Computadora");
gotoxy (30,15);cprintf("Presione cualquier tecla para continuar");
getch();
exit(0);
}
}
}while(cont1==0);
}
Pero aun no lo termino, espero que me puedas echar una manita con el código y decirme como cargarlo.

2 Respuestas

Respuesta
-1
La pregunta es quiere hacerlo porque hay con un grub de arranque lo tienes generalmente la clave la guardan en un txt que lo puedes accesar desde un programa cualquiera y que se inicie en el programador de tares te lo cambie y te avise
Respuesta
2
He estado revisando el código y tenias algunos errores de concepto, pero nada muy grave, otra cosa es que usas variables innecesarias, ahora bien, hice un pequeño ejemplo en C++, compilado con C++ Builder 6 de Borland y aquí te dejo el código, lo de insertarlo entre el Boot y el WinStart no lo se aun, debo investigar, pero estaría muy agradecido si me dejeras como hacerlo en caso de saber antes que yo, por favor escríbeme la solución a este correo: [email protected] o de lo contrario a [email protected],
Aquí esta el código:
//---------------------------------------------------------------------------
#include <clx.h>
#include <conio.h>
#include <iostream.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
const int PIN[] = {22, 33, 44};
int main(int argc, char* argv[])
{
int pin, cantidad = 0;
do
{
clrscr();
cout << "\n<- Entre PIN -> : ";
cin >> pin;
int i = 0;
while(i < (sizeof(PIN) / sizeof(PIN[0])))
{
if(pin == PIN)
{
cout << "\n ---> Bienvenido... <--- \n" << endl;
Sleep(3000);
return 0;
}
i++;
}
cout << "\n<- PIN incorrecto, entre 0 para cancelar ->\n";
cout << "<- Entre otro numero para intentar nuevamente ->\n";
cout << "<- Que desea hacer -> : ";
cin >> pin;
cantidad++;
}
while((pin != 0) && (cantidad != 3));
clrscr();
cout << "\n<- Ha llegado al MAXIMO numero de intentos, cerrando en 3 segundos ... ->\n";
Sleep(3000);
return 0;
}
//---------------------------------------------------------------------------
Muchísimas Gracias por corregirme, soy nuevo en esto de la programación en c y el ejemplo que di lo agarre de una tarea que tenia, pero muchas gracias de todas maneras me sirve mucho, cualquier cosa que investige te escribo. Gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas