For turning the Caps Lock key see this procedure (use VN_NUMLOCK instead of VK_CAPITAL for Num Lock).
procedure TForm1.Button1Click(Sender: TObject);
var
KeyState: TKeyboardState;
begin
GetKeyboardState(KeyState);
if (KeyState[VK_CAPITAL]=0) then
begin
// Simulate a "CAPS LOCK" key release
Keybd_Event(VK_CAPITAL, 1, KEYEVENTF_EXTENDEDKEY or 0, 0);
// Simulate a "CAPS LOCK" key press
Keybd_Event(VK_CAPITAL, 1, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
end
else
begin
Keybd_Event(VK_CAPITAL, 0, KEYEVENTF_EXTENDEDKEY or 0, 0);
Keybd_Event(VK_CAPITAL, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
end;
end;