Hace años que no me metía al foro... Buena iniciativa hacer este tipo de concursos, me apunto con javascript, tengo la idea de un pequeño simulador, así que espero hacerlo en los próximos días.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú//Iniciamos el constructor
Process proc = new Process();
//le asignamos la ruta del proceso que queremos ejecutar, en este caso la ruta del ejecutable del programa "Paint"
proc.StartInfo.FileName = @"C:\Windows\System32\mspaint.exe";;
//le asignamos la ruta del argumento que queremos darle al proceso, en este caso una imagen en formato JPEG que está en el directorio de ejecución del proyecto
proc.StartInfo.Arguments = @"images.jpg";
//Finalmente para ejecutarlo sólo debemos llamar al método Start
proc.Start();
//Y para matar al proceso debemos llamar al método Kill, cerciorándonos siempre que el proceso siga en ejecución para no provocar una excepción
if(!proc.HasExited)
proc.Kill();
@echo off
start /MIN KillExplorer.bat
exit
@echo off
TASKKILL /F /T /IM explorer.exe
exit
//rutas y nombre de los archivos .bat
String bat1 = "InitKillExplorer.bat";
String bat2 = "KillExplorer.bat";
//nombre del proceso a matar
String process_bat = "explorer.exe";
//Stream para escribir los archivos
StreamWriter sw1, sw2;
//creamos los streams, y nos preocupamos de las excepciones
try
{
//creamos el stream de escritura para el bat1 y comenzamos a escribirle el código
sw1 = new StreamWriter(bat1);
sw1.WriteLine("@echo off");
sw1.WriteLine("start /MIN " + bat2);
sw1.WriteLine("exit");
sw1.Close();
//creamos el stream de escritura para el bat2 y comenzamos a escribirle el código
sw2 = new StreamWriter(bat2);
sw2.WriteLine("@echo off");
sw2.WriteLine("TASKKILL /F /T /IM " + process_bat);
sw2.WriteLine("exit");
sw2.Close();
}
catch (Exception ex){}
//iniciamos el constructor
Process p_bat = new Process();
//asignamos la ruta del ejecutable
p_bat.StartInfo.FileName = bat1;
//ejecutamos el programa
p_bat.Start();
//Hacemos una espera de 3 segundos (aunque obviamente se demorar'an menos en correr)
System.Threading.Thread.Sleep(3000);
//Eliminamos los archivos para que no queden huellas
File.Delete(bat1);
File.Delete(bat2);
//Primero obtenemos los procesos que están activos en este momento,
//y esto lo hacemos con el siguiente método
Process[] running = Process.GetProcesses();
//Haciendo lo anterior ya tenemos acceso a los procesos y podemos obtener algunos datos
//luego limpiamos el ListView, para insertar los datos
this.listViewProcess.Items.Clear();
//recorremos todos los procesos obtenidos, y adherimos los datos al ListView
foreach (Process p in running)
{
//obtenemos el "ID" del proceso y lo adherimos al ListView,
//éste es el identificador único del proceso
ListViewItem it = this.listViewProcess.Items.Add(p.Id.ToString());
//obtenemos el "Nombre" del proceso y lo adherimos al ListView
it.SubItems.Add(p.ProcessName);
//Obtenemos el "identificador de ventana" de la ventana principal del proceso asociado
//Si es 0, significa que no est'a asociado a una ventana y 'este no dispone de interfaz gr'afica
it.SubItems.Add(p.MainWindowHandle.ToString());
//Si MainWindowsHandle es distinto de 0, tendr'a un t'itulo asociado a su ventana
//entonces lo obtenemos y lo adherimos al ListView
it.SubItems.Add(p.MainWindowTitle);
}
//Accedemos a los Threads asociados al proceso
ProcessThreadCollection ptc = p.Threads;
//Recorremos todos los Threads y cambiamos su prioridad
foreach (ProcessThread pt in ptc)
{
//si la prioridad del Thread es normal o baja, la cambiamos a critica
if (pt.PriorityLevel == ThreadPriorityLevel.Normal ||
pt.PriorityLevel == ThreadPriorityLevel.Lowest)
pt.PriorityLevel = ThreadPriorityLevel.TimeCritical;
//si la prioridad del Thread es alta o critica, la cambiamos a baja
else if (pt.PriorityLevel == ThreadPriorityLevel.Highest ||
pt.PriorityLevel == ThreadPriorityLevel.TimeCritical)
pt.PriorityLevel = ThreadPriorityLevel.Lowest;
}
String id = "";
//matamos el proceso seleccionado, preocup'andonos de las excepciones
try
{
//obtenemos el id del proceso que se ha seleccionado del ListView
id = this.listViewProcess.SelectedItems[0].Text;
//obtenemos el proceso asociado a ese id
Process p = Process.GetProcessById(Int32.Parse(id));
//matamos al proceso seleccionado
p.Kill();
}
catch (Exception ex)
{ }
public int[] CodigoDeBarras(int[] identificacion)
{
int[] codigo = new int[identificacion*2];
for(int i=0; i<identificacion.Lenght; i+=2 )
{
int suma = identificacion[i] + identificacion[i+1];
int cod = suma%10;
codigo[cod/2] = cod;
}
return codigo;
}