If i use 'keybd_event()', i would be able to set the program automatically type on the notepad or something, but would that be considered as low-level keyboard input?

I searched online and came across some examples that said you have to hook the program to the driver or what ever it is. Anyone has any suggestion?
Here is the code i found:

Code:
#define _WIN32_WINNT 0x0400
#include <Windows.h>


///////////////////////////////////////////////////////////////////////////////


LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM
lParam)
{

  BOOL fEatKeystroke = FALSE;

  if (nCode == HC_ACTION) 
  {
     switch (wParam) 
	 {
		case WM_KEYDOWN:  
		case WM_SYSKEYDOWN:
		case WM_KEYUP:    
		case WM_SYSKEYUP:
			{
				PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT) lParam;
				fEatKeystroke=(p->vkCode == VK_SNAPSHOT);
				if (fEatKeystroke)
				{
					//Here goes your printkey code
				}
				break;
			}
     }
  }

  return(fEatKeystroke ? 1 : CallNextHookEx(NULL, nCode, wParam,
lParam));
}


///////////////////////////////////////////////////////////////////////////////


int WINAPI WinMain(HINSTANCE hinstExe, HINSTANCE, PTSTR pszCmdLine, int) 
{

  // Install the low-level keyboard & mouse hooks
  HHOOK hhkLowLevelKybd  = SetWindowsHookEx(WH_KEYBOARD_LL,
     LowLevelKeyboardProc, hinstExe, 0);

  // Keep this app running until we're told to stop
  MessageBox(NULL,
     TEXT("Print Key is now disabled.\n")
     TEXT("Click \"Ok\" to terminate this application and re-enable that key."),
     TEXT("Disable Low-Level Keys"), MB_OK);

  UnhookWindowsHookEx(hhkLowLevelKybd);

  return(0);
}