Dawndeath Δημοσ. 16 Σεπτεμβρίου 2011 Δημοσ. 16 Σεπτεμβρίου 2011 Προσπαθώ να δημιουργήσω μια εφαρμογή για Widnows που θα κάνει shutdown , restart μέσω του Windows API, ενώ έχω υλοποιήσει αυτά τα 2 , δεν μπορώ να υλοποιήσω το abort τους μέσω του AbortShutdown() καθώς πρέπει να του δώσω privileges?(say what? !) μετά από ψάξιμο καταλαβαίνω πως πρέπει να καλέσω μια άλλη συνάρτηση του Windows API την AdjustTokenPrivileges την οποία όμως δυστυχώς δεν μπορώ να καταλάβω πως λειτουργεί όσο και αν έψαξα, μπορεί κάποιος από εδώ μέσα να βοηθήσει; Ευχαριστώ εκ των προτέρων.
παπι Δημοσ. 17 Σεπτεμβρίου 2011 Δημοσ. 17 Σεπτεμβρίου 2011 Εφυγες για P/Invoke >int main(int ,char**) { HANDLE hToken; TOKEN_PRIVILEGES tkp; // Get a token for this process. if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) return( FALSE ); // Get the LUID for the shutdown privilege. LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid); tkp.PrivilegeCount = 1; // one privilege to set tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; // Get the shutdown privilege for this process. AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0); InitiateSystemShutdown( NULL, NULL, 10000, FALSE, FALSE); Sleep(3000); AbortSystemShutdown(NULL); return 0; } Για το "Που" "Τι" msdn
Dawndeath Δημοσ. 17 Σεπτεμβρίου 2011 Μέλος Δημοσ. 17 Σεπτεμβρίου 2011 Ναι θα μπορούσε να γίνει και έτσι αλλά τώρα μου ήρθε η ιδέα αφού το Shutdown θα γίνει μόλις τα milliseconds γίνουν λιγότερα από 1 άμα σταματήσω το χρονόμετρο το shutdown δεν θα γίνει ποτέ #WiN
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.