| 396 | } |
| 397 | |
| 398 | bool 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 | |
| 424 | bool NotepadNextApplication::event(QEvent *event) |
| 425 | { |
no outgoing calls
no test coverage detected