2010-07-03 26 views
5

Ho i Belirtilen kimliğe sahip süreci koştu kullanıcı hesap adı, alabilirsiniz. Bunun için herhangi bir api işlevi var mı?algılama kullanıcı adı

ben C++, pencereleri kullanıyorum.

cevap

12

ancak birkaç API bunu çağrıları birleştirebilir, doğrudan bunu yapar bir API işlevi yoktur. Elbette, programınızın incelemekle ilgilendiğiniz sürece uygulanan herhangi bir ACL'yi karşılaması gerekir.

Birincisi, işlem kimliği göz önüne alındığında, sen işlemi için bir tanıtıcı açmak gerekir. PROCESS_QUERY_INFORMATION erişim hakkını istemek için OpenProcess'u kullanabilirsiniz.

Bu tanıtıcıya sahip olduğunuzda, TOKEN_QUERY erişim hakkını isteyerek OpenProcessToken numaralı telefonu arayabilirsiniz. Son olarak, TokenUser bilgi sınıfını istemek için GetTokenInformation numaralı telefonu arayarak, size belirtecin kullanıcı hesabını verebilirsiniz. Bu bilgi size SID şeklinde sunulmuştur. SID'u hesabın asıl ismine dönüştürmek için LookupAccountSid'u arayabilirsiniz.

onlarla bittiğinde bir kez işlem sap ve simge sap hem CloseHandle aramaya unutma.

İlgili konular