domingo, 4 de octubre de 2009

Como insertar usuario y contraseña en nod32 v4 (Source code)

Material escrito en delphi7, usando apis.

El quid en este caso, no es el mas elegante, pero vale.
Entrar en nod32, presiona: control+u <--- muestra caja de insercion de user y pwd Inserta username tecla tabular Inserta password Enter El codigo queda inmerso en registro de windows, listo para actualizar. Todo via codigo en delphi. Cualquier informacion, sugerencia, bienvenido. procedure TForm1.Button1Click(Sender: TObject);
var
Handle1:hwnd;
begin
Handle1 := FindWindowEx(0, 0, 'ESET Client Frame', nil); //Estoy en Nod32
SetForegroundWindow(Handle1); //Nod32 en primer plano

//CTRL+U <--- LLamada pantalla de password y username
keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), 0, 0); // Tecla Control
keybd_event(Ord('U'), MapVirtualKey(Ord('U'), 0), 0, 0); // Tecla U
keybd_event(Ord('U'), MapVirtualKey(Ord('U'), 0), KEYEVENTF_KEYUP, 0); // Soltar tecla U
keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), KEYEVENTF_KEYUP, 0); // Soltar tecla Ctrl

//CTRL+V <--- Pega username
ClipBoard.SetTextBuf(Pchar(Edit1.text)); // De concepto, Aqui aplicar codigo respectivo
keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), 0, 0);
keybd_event(Ord('V'), MapVirtualKey(Ord('V'), 0), 0, 0);
keybd_event(Ord('V'), MapVirtualKey(Ord('V'), 0), KEYEVENTF_KEYUP, 0);
keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), KEYEVENTF_KEYUP, 0);

// Para que el asunto no vaya demasiado rapido, y quede perfecto!
Sleep(100);

// TABULAR <--- de username a password
keybd_event(VK_TAB, MapVirtualKey(VK_TAB, 0), 0, 0);
keybd_event(VK_TAB, MapVirtualKey(VK_TAB, 0), KEYEVENTF_KEYUP, 0);

//CTRL+V <--- Pega password
ClipBoard.SetTextBuf(Pchar(Edit2.text)); // De concepto, Aqui aplicar codigo respectivo
keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), 0, 0);
keybd_event(Ord('V'), MapVirtualKey(Ord('V'), 0), 0, 0);
keybd_event(Ord('V'), MapVirtualKey(Ord('V'), 0), KEYEVENTF_KEYUP, 0);

//ENTER aceptar
keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), KEYEVENTF_KEYUP, 0);
keybd_event(VK_RETURN, MapVirtualKey(VK_RETURN, 0), 0, 0);
keybd_event(VK_RETURN, MapVirtualKey(VK_RETURN, 0), KEYEVENTF_KEYUP, 0);

end;

Codigo fuente/source code

No hay comentarios: