It works when you use:
if GetKeyState(VK_NumLock) <> 0 then //numlock not off??
begin
//press numlock
keybd_event(VK_NumLock, $45, KEYEVENTF_EXTENDEDKEY, 0);
//release numlock
keybd_event(VK_NumLock, $45, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
end;