В моем окне Vista есть ярлык быстрого запуска, который запускает cygwin rxvt от имени администратора. Если вы просто используете окно с досками, вы не можете легко использовать страницу свойств совместимости, потому что Vista распознает cmd.exe, но если вы просто скопируете cmd.exe в вашу домашнюю папку («notcmd.exe»), то вы сможете запустить его "как администратор".
Я даже установил в моем приглашении% значение # by isadmin && PS1='# '
.
isadmin.c
:
#include <stdio.h> #define _WIN32_WINNT 0x0500 #include <windows.h> BOOL APIENTRY CheckTokenMembership( IN HANDLE TokenHandle OPTIONAL, IN PSID SidToCheck, OUT PBOOL IsMember ); int main (int argc, char **argv) { SID_IDENTIFIER_AUTHORITY NtAuthority = ; PSID AdministratorsGroup; BOOL isAdmin; if (AllocateAndInitializeSid (&NtAuthority, 2, SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, &AdministratorsGroup) == 0 || CheckTokenMembership (NULL, AdministratorsGroup, &isAdmin) == 0) { printf ("failed with win32 error %lu\n", GetLastError ()); exit (2); } FreeSid (AdministratorsGroup); exit (!isAdmin); }