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
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.
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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas