S
Wie gesagt du kannst WinAPI-Aufrufe auch ganz normal in Konsolenprogrammen verwenden.
Hier mal ein kleines Schnipsel:
#include <windows.h>
int main ()
{
// Installationsfenster suchen
HWND hwnd = FindWindow(0,"Installing Microsoft SQL Client");
// Installationsfenster als derzeit aktives Fenster einsetzen (wichtig, damit UserInput an dieses Fenster geleitet wird
SetForegroundWindow(hwnd);
// Taste 'Enter' drücken und daraufhin wieder loslassen -> da ich nicht weiß ob die Anwendung auf WM_KEYDOWN oder WM_KEYUP reagiert
INPUT in;
in.type = INPUT_KEYBOARD;
in.ki.wVk = VK_RETURN; /* Enter drücken */
in.ki.wScan = MapVirtualKey(VK_RETURN,0); /* HW-Scan-Code */
in.ki.dwFlags = 0; /* Erstmal ganz normal Taste drücken */
in.ki.time = 0; /* Zeit, ein Faktor den bei Tastatureingaben sowieso nie jemand beachtet */
in.ki.dwExtraInfo = 0; /* Auch hinlänglich */
SendInput(1,&in,sizeof(in));
in.ki.dwFlags = KEYEVENTF_KEYUP; /* Und wieder loslassen */
SendInput(1,&in,sizeof(in));
return(0);
}
Wichtig: Diese Anwendung darf erst ausgeführt werden, wenn die Install-Anwendung bereits vollständig gestartet wurde und ihr Fenster richtig anlegen konnte. Also in der AutoStart-Reihenfolge unbedingt _hinter_ das Installationsprogramm setzen!
Bzw. wenn sie sicher startet kannst du ja auch eine Schleife um FindWindow() herumbauen.
MfG SideWinder