MCPcopy Create free account
hub / github.com/dail8859/NotepadNext / isRunningAsAdmin

Method isRunningAsAdmin

src/NotepadNextApplication.cpp:398–422  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

396}
397
398bool NotepadNextApplication::isRunningAsAdmin() const
399{
400 static bool initialized = false;
401 static bool isAdmin = false;
402
403 if (!initialized) {
404 initialized = true;
405
406#ifdef Q_OS_WIN
407 BOOL isMember;
408 SID_IDENTIFIER_AUTHORITY ntAuthority = SECURITY_NT_AUTHORITY;
409 PSID administratorsGroupSid = NULL;
410
411 // Create a SID for the Administrators group
412 if (AllocateAndInitializeSid(&ntAuthority, 2, SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, &administratorsGroupSid)) {
413 if (CheckTokenMembership(NULL, administratorsGroupSid, &isMember)) {
414 isAdmin = isMember;
415 }
416 FreeSid(administratorsGroupSid);
417 }
418#endif
419 }
420
421 return isAdmin;
422}
423
424bool NotepadNextApplication::event(QEvent *event)
425{

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected