mh.... ok grazie 1000 ci sono quasi... ho un problemino qui:
codice:
Process[] TargetProcess = Process.GetProcessesByName(Proc.Text);
TargetProcessHandle = OpenProcess(PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_WRITE, false, TargetProcess[0].Id/*.ToString()*/);
mi da l'errore imposibile convertire da IntPtr a int.... so che è una cazzata ma a quest'ora nn mi funziona piu la crapa ^^ se riuscite a darmi una mano mi fate un gran favore 
codice:
[DllImport("kernel32.dll")]
public static extern IntPtr OpenProcess(
int dwDesiredAccess,
bool bInheritHandle,
int dwProcessId);
codice:
public const int PROCESS_CREATE_THREAD = (0x2);
public const int PROCESS_VM_OPERATION = (0x8);
public const int PROCESS_VM_WRITE = (0x20);