634 |
memset (&pi, 0, sizeof (pi)); |
memset (&pi, 0, sizeof (pi)); |
635 |
//hh.exe -mapid 40 "winpt.$lang.chm" |
//hh.exe -mapid 40 "winpt.$lang.chm" |
636 |
|
|
637 |
_snprintf (path, 2*MAX_PATH, "hh.exe -mapid %d winpt.%s.chm", |
_snprintf (path, 2*MAX_PATH, "hh.exe -mapid %d winpt.%s.chm", map_id, gettext_get_langid ()); |
638 |
map_id, gettext_get_langid ()); |
CreateProcess (NULL, path, &sec_attr, &sec_attr, FALSE, 0, NULL, NULL, &si, &pi); |
|
CreateProcess (NULL, path, &sec_attr, &sec_attr, |
|
|
FALSE, 0, NULL, NULL, &si, &pi); |
|
639 |
CloseHandle (pi.hProcess); |
CloseHandle (pi.hProcess); |
640 |
CloseHandle (pi.hThread); |
CloseHandle (pi.hThread); |
641 |
return 0; |
return 0; |
646 |
BOOL |
BOOL |
647 |
user_is_admin (void) |
user_is_admin (void) |
648 |
{ |
{ |
649 |
SID_IDENTIFIER_AUTHORITY SystemSidAuthority = SECURITY_NT_AUTHORITY; |
SID_IDENTIFIER_AUTHORITY SystemSidAuthority = {SECURITY_NT_AUTHORITY}; |
650 |
HANDLE hd; |
HANDLE hd; |
651 |
TOKEN_GROUPS *ptg = NULL; |
TOKEN_GROUPS *ptg = NULL; |
652 |
DWORD ngtoken; |
DWORD ngtoken; |