C
Was du falsch machst, ganz grundsätzliche Sachen die einentlich die Grundlagen der Programierung sind.
Du erstellst eine Variable LPRECT lRect die du nicht initialisierst, also zeigt die irgendwo hin (was dir schon der Compiler sagt). Diese übergibst du dann auch noch an GetWindowRect(), da sollte es eigentlich schon knallen, weil der irgendwo in den Speicher schreibt wo der gar nicht hin schreiben darf.
Also richtiger ist das so:
void CKeyboardQWER::OnBnClickedButtonMoveKeybLeft()
{
CRect rect;
LONG x;
LONG y;
GetWindowRect(&rect); // Alternativ habe ich auch GetClientRect(lRect); versucht...
rect.InflateRect(179,0,0,0);
SetWindowPos(&CWnd::wndTop, rect.left, rect.top, 0, 0, SWP_NOSIZE);
}
so sollte das gehen ohne das jetzt ausprobiert zu haben