graxias, copie el codigo del post en un modulo .bas y llamo a esa funcion de esta manera:
Private Sub Form_Load()
ObtenerPrivilegios SE_DEBUG_NAME
End Sub
pero no puede abrir el proceso ¿algo hice mal?, mi SO es windows 7 ¿sera este el problema?,el taskmgr si puede cerrar el proceso con facilidad , estuve revisando algo acerca del comando schtasks y tambien estoy que busco lo del AdjustTokenPrivileges.
mi cuenta de usuario es la unica y principal.
Pues no se en realidad que estaras haciendo, pero con el codigo que te puse anteriormente a mi me va de maravillas. Te pongo un codigo de ejemplo con el que consigo abrir un proceso SYSTEM
Copia el codigo anterior en un modulo, inserta dos botones en el formulario y luego copia este codigo:
Private Declare Function OpenProcess Lib "Kernel32.dll" (ByVal dwDesiredAccessas As Long, ByVal bInheritHandle As Long, ByVal dwProcId As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Const PROCESS_ALL_ACCESS = &H1F0FFF
Private Sub Command1_Click()
ObtenerPrivilegios SE_DEBUG_NAME
End Sub
Private Sub Command2_Click()
Dim hOpen As Long
hOpen = OpenProcess(PROCESS_ALL_ACCESS, 0&, 800) ' // Abrimos el proceso por su PID
' // Cambia el "800" por el PID del proc que quieras
If hOpen = 0 Then
MsgBox "No abrio el proceso", vbCritical, "Error", 0, 0
Else
MsgBox "Se abrio el proceso", vbInformation, "Correcto", 0, 0
End If
CloseHandle (hOpen)
End Sub
Veras que si le das al boton2 antes que al boton1 te dara error, pues no tienes los privilegios activados, una vez los ajustes, te saldra el cartel de correcto.
saludos