Since random keypressings can do funny things, the best way is to use the pure API method

VB Code:
  1. Declare Function SendMessage Lib "user32" Alias "SendMessageW" ( _
  2.     ByVal hWnd As Long, _
  3.     ByVal uMsg As Long, _
  4.     ByVal wParam As Long, _
  5.     ByRef lParam As Any _
  6. ) As Long
  7.  
  8. Const HWND_BROADCAST = &HFFFF
  9. Const WM_SYSCOMMAND = &H112
  10. Const SC_MONITORPOWER = &HF170
  11.  
  12. ' Turn monitor on
  13. SendMessage HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal -1&
  14.  
  15. ' Turn monitor off
  16. SendMessage HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal 0&