#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>
#include <sstream>
#include <vector>
#include <map>
using namespace std;
int salir = 0;
int segundosSalir;
typedef void (*Puntero_A_Funcion)(void);
void LimpiarPantalla();
void MasterShell();
void Salir();
void funcionEspera(int segundosSalir);
void Cmd();
void AbrirAdministradorDeTareas();
void ComandosDos();
void Colores();
void AbrirQuitarProgramas();
void InformacionSistema();
void EstadoDeRed();
void EstadoProtocoloInternet();
void ApagarOrdenador();
void CancelarApagado();
void Rendimiento();
void EditorRegistro();
void BlocDeNotas();
void CapturarPantalla();
void Calculadora();
void GrabarSonido();
void TecladoEnPantalla();
void Lupa();
void AjustarVolumenDeSonido();
void MaquinaDelTiempo();
void VersionDeWindows();
void LimpiarDisco();
void AdministrarDiscos();
void CargarColores();
void ParticionarDisco();
void ConexionesDeRed();
void AdministrarFirewall();
void CerrarSesion();
void EliminarArchivosTemporales();
void NavegarPorInternet();
void FechaYHora();
int main (int argc, char* argv[])
{
system ("title MASTERSHELL");
ifstream logc;
logc.open ( "PersonalizacionMasterShell" );
if ( logc.is_open() )
{
// se pudo abrir el fichero por tanto existe
}
else
{
//no se pudo abrir el fichero se supone no existe o lo esta usando otro programa
}
logc.close();
Inicio:
cout << "@";
void (*Funcion)(void); // Puntero a funcion sin argumentos
string Mensaje;
map<string,Puntero_A_Funcion> Comandos;
vector<string> texto;
string str;
Comandos["limpiarpantalla"] = LimpiarPantalla;
Comandos["lp"] = LimpiarPantalla;
Comandos["mastershell"] = MasterShell;
Comandos["salir"] = Salir;
Comandos["administradordetareas"] = AbrirAdministradorDeTareas;
Comandos["comandosdos"] = ComandosDos;
Comandos["comandoscmd"] = Cmd;
Comandos["colores"] = Colores;
Comandos["abrirquitarprogramas"] = AbrirQuitarProgramas;
Comandos["informacionsistema"] = InformacionSistema;
Comandos["estadodered"] = EstadoDeRed;
Comandos["estadodelprotocolodeinternet"] = EstadoProtocoloInternet;
Comandos["cancelarapagado"] = CancelarApagado;
Comandos["apagarordenador"] = ApagarOrdenador;
Comandos["rendimiento"] = Rendimiento;
Comandos["editordelregistro"] = EditorRegistro;
Comandos["blocdenotas"] = BlocDeNotas;
Comandos["capturarpantalla"] = CapturarPantalla;
Comandos["calculadora"] = Calculadora;
Comandos["grabarsonido"] = GrabarSonido;
Comandos["tecladoenpantalla"] = TecladoEnPantalla;
Comandos["lupa"] = Lupa;
Comandos["ajustarvolumendesonido"] = AjustarVolumenDeSonido;
Comandos["maquinadeltiempo"] = MaquinaDelTiempo;
Comandos["versiondewindows"] = VersionDeWindows;
Comandos["limpiardisco"] = LimpiarDisco;
Comandos["administrardiscos"] = AdministrarDiscos;
Comandos["cargarcolores"] = CargarColores;
Comandos["particionardisco"] = ParticionarDisco;
Comandos["conexionesdered"] = ConexionesDeRed;
Comandos["administrarfirewall"] = AdministrarFirewall;
Comandos["cerrarsesion"] = CerrarSesion;
Comandos["eliminararchivostemporales"] = EliminarArchivosTemporales;
Comandos["navegarporinternet"] = NavegarPorInternet;
Comandos["fechayhora"] = FechaYHora;
getline(cin, str);
stringstream is(str);
while(is >> str) texto.push_back(str);
for (int i = 0; i < texto.size(); i++)
cout << "";
for (int i = 0; i < texto.size(); i++)
{
Funcion = Comandos[texto[i]]; // Obtengo el puntero a la funcion correspondiente
if (Funcion) // Si existe la funcion
Funcion(); // llamar a la funcion
else
cout<<"Error, no existe el comando introducido: "<<texto[i]<<endl;
}
if (salir != 1)
{goto Inicio;}
funcionEspera(segundosSalir);
return 0;
}
//Declaración de funciones:
void LimpiarPantalla()
{
system ("cls");
}
void MasterShell()
{
cout << endl << "Nombre: MasterShell" << endl
<< "Copyright: GPL" << endl
<< "Autor: OmarHack" << endl
<< "Fecha inicial de creacion del proyecto: 07/06/13 11:58"
<< endl << "Descripcion: ¡Usar comandos nunca fue tan facil!"
<< endl << "Con esta sencilla aplicación podrás usar comandos de una "
<<"manera increiblemente facil."
<< "Solo tienes que echar un vistazo a"
<< " el arhivo leeme y seguir las instrucciones." << endl << endl;
}
void Salir()
{
salir = 1;
}
void funcionEspera(int segundosSalir)
{
salir = 1;
for(time_t i = (time(NULL) + segundosSalir); time(NULL) != i;);
}
void Cmd()
{
system ("cmd");
}
void AbrirAdministradorDeTareas()
{
system ("taskmgr");
}
void ComandosDos()
{
system ("command");
}
void Colores()
{
short ColorElegido;
cout << "Que color quieres?" <<endl;
cin >> ColorElegido;
switch (ColorElegido)
{
case 1:
system ("color 0f");
break;
case 2:
system ("color f0");
break;
case 3:
system ("color 0a");
case 4:
system ("color 9f");
break;
case 5:
system ("color 0d");
break;
case 6:
system ("color 0e");
case 7:
system ("color 2f");
break;
case 8:
system ("color 8e");
break;
default:
cout << "No has escrito una opcion valida,vuleve a escribir \"colores\"" <<
" y selecciona un numero del 1 al 8" <<endl;
}
}
void AbrirQuitarProgramas()
{
system ("appwiz.cpl");
}
void InformacionSistema()
{
system ("systeminfo");
}
void EstadoDeRed()
{
system ("netstat");
}
void EstadoProtocoloInternet()
{
system ("ipconfig");
}
void ApagarOrdenador()
{
cout << "Esta seguro de apagar el ordenador?" << endl;
string ApagarSi;
cin >> ApagarSi;
cout << "@";
if (ApagarSi == "si")
{
system ("shutdown -s -t 60");
}
}
void CancelarApagado()
{
system ("shutdown -a");
}
void Rendimiento()
{
system ("perfmon");
}
void EditorRegistro()
{
system ("regedit");
}
void BlocDeNotas()
{
system ("notepad");
}
void CapturarPantalla()
{
system ("SNIPPINGTOOL");
}
void Calculadora()
{
system ("calc");
}
void GrabarSonido()
{
system ("soundrecorder");
}
void TecladoEnPantalla()
{
system ("osk");
}
void Lupa()
{
system ("magnify");
}
void AjustarVolumenDeSonido()
{
system ("sndvol");
}
void MaquinaDelTiempo()
{
system ("rstrui");
}
void VersionDeWindows()
{
system ("winver");
}
void LimpiarDisco()
{
system ("cleanmgr");
}
void AdministrarDiscos()
{
system ("DISKMGMT");
}
void CargarColores()
{
system ("start archivo.bat");
}
void ParticionarDisco()
{
system ("diskpart");
}
void ConexionesDeRed()
{
system ("ncpa.cpl");
}
void AdministrarFirewall()
{
system ("firewall.cpl");
}
void CerrarSesion()
{
system ("logoff");
}
void EliminarArchivosTemporales()
{
system ("del %temp% /f /s /q ");
}
void NavegarPorInternet()
{
system ("start www.google.com");
}
void FechaYHora()
{
time_t fecha;
time ( &fecha);
cout << ctime (&fecha);
}