windows - redes - comandos de cmd para hackear
"Traer al frente" para el shell del comando de Windows XP (6)
¿Hay algún comando que pueda poner en un archivo .bat de Windows XP para llevar el shell de comandos al frente?
De un archivo por lotes, no. Si desea activar una ventana, debe usar SetActiveWindow () . Si no quieres ensuciarte con la programación de Windows pero aún quieres activar Windows y cosas así, te recomiendo que revises Autoit . Siempre puede llamar a este programa desde su archivo por lotes para que haga la tarea.
nircmd hará esto, aunque implica un poco de secuencias de comandos.
nircmd win activate "titleofwindow"
Básicamente necesita saber el título de la ventana de cmd que está ejecutando (puede configurarlo mediante el comando TITLE en Windows)
así:
TITLE %SOME_UNIQUE_VALE%
nircmd win activate %SOME_UNIQUE_VALE%
debería hacer el truco.
Tenga en cuenta que algunas herramientas de malware hacen uso del ejecutable NirCmd (no requiere implementación, ya que es muy potente), esto puede causarle problemas.
CMDOW también es útil para esto y para otras tareas de programación de DOS donde se necesita un poco de funcionalidad adicional. Simple de usar y bien documentado. Sin embargo, tenga en cuenta su programa antivirus: CMDOW tiene la capacidad de ocultar ventanas que su programa antivirus detectará como un posible virus. Solo agrégalo a tu lista de excepciones. CMDOW es completamente portátil, definitivamente NO es un virus y si tiene alguna duda de que sea utilizado por un tercero para ocultar algo, simplemente guárdelo en alguna carpeta que no sea obvia.
Otra forma rápida de cambiar a una ventana por nombre es a través de Ctrl + Shift + Esc, que abre el Administrador de tareas. Luego, simplemente escriba las primeras letras del título de Windows para seleccionar el proceso, luego presione Enter.
Otra forma de mostrar la ventana de solicitud de cmd al frente es finalizar archivo1.bat con un comando para llamar a un segundo archivo file2.bat seguido de un comando de salida.
EJEMPLO usando file1.bat
....
[your code here]
start C:/file2.bat
exit
Esto cierra file1.bat y abre un segundo archivo .bat donde puede continuar con su código. Este segundo comando de comando .bat se abrirá frente a otras ventanas
Tuve un problema similar y tuve que desarrollar una aplicación simple de consola C # que lleva al frente una ventana. Las ventanas se seleccionan usando el pase de título de la ventana como argumento.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace ConsoleApplication1
{
class Program
{
[DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
public static extern IntPtr FindWindow(String lpClassName, String lpWindowName);
[DllImport("USER32.DLL")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("User32.dll")]
private static extern bool IsIconic(IntPtr handle);
[DllImport("User32.dll")]
private static extern bool ShowWindow(IntPtr handle, int nCmdShow);
const int SW_RESTORE = 9;
public static void bringToFront(string title)
{
// Get a handle to the Calculator application.
IntPtr handle = FindWindow(null, title);
// Verify that Calculator is a running process.
if (handle == IntPtr.Zero)
{
return;
}
if (IsIconic(handle))
{
ShowWindow(handle, SW_RESTORE);
}
Console.WriteLine("Founded ");
SetForegroundWindow(handle);
}
static void Main(string[] args)
{
if (args.Length > 0)
bringToFront(args[0]);
else
Console.WriteLine("specify program window title");
}
}
}
el código de mi secuencia de comandos por lotes es algo similar a
lista de tareas / FI "IMAGENAME eq program.exe" | encuentre "program.exe" si errorlevel 1 (program.exe) else (BringToFront.exe "Program Window Title")