Ich versuche, eine Windows Logon-Trigger-Aufgabe mit C ++ unter Windows 7 zu schreiben.
Ich folge diesem Microsoft-Lernprogramm .
Aber ich habe ein Problem beim Speichern der Aufgabe im Stammordner. Hier:
%Vor% Wo der hr
Fehler erhält: Es wurde keine Zuordnung zwischen Kontonamen und Sicherheits-IDs vorgenommen
Ich habe auch versucht, _variant_t(L"Builtin\Administrators")
durch _variant_t(L"S-1-5-32-544")
zu ersetzen, um die Sprache schwer zu codieren, immer noch kein Glück.
Wie kann ich es zum Laufen bringen?
Ich vermute, dass der Demo-Code XP-Ära ist und nicht aktualisiert wurde, um den Vista / Win7-Regeln zu entsprechen.
Ich habe das Beispiel aktualisiert, um die LUA-Einstellungen nach dem Festlegen des Anmelde-Triggers festzulegen, und es scheint zu funktionieren:
%Vor% Wenn es unter XP ausgeführt werden muss, ist es wahrscheinlich, dass der get_Principal
-Aufruf fehlschlägt, also lassen Sie diesen Fehler durch.
(mit Administratorberechtigungen, funktioniert für Windows 7, 8 usw. Beachten Sie, dass dies beim Start von UAC kein UAC-Popup anzeigt "Sind Sie sicher, dass diese Software mit Administratorrechten ausgeführt wird?"), deshalb ist die TaskScheduler-Methode in diesem Fall interessanter als die gute alte HKEY_LOCAL_MACHINE \ ... \ CurrentVersion \ Run-Lösung)
Es gibt einige Dinge, die Sie in dieser Anleitung aktualisieren sollten damit es funktioniert:
_variant_t(L"S-1-5-32-544")
anstelle von _variant_t(L"Builtin\Administrators")
hr = pLogonTrigger->put_UserId(_bstr_t(L"DOMAIN\UserName"));
entweder durch eine fest codierte Domäne \ Benutzername oder durch einige Domäne \ Benutzername Erkennungscode (Ich konnte es nicht funktionieren lassen), oder nur diese Zeile kommentieren , es hat für mich funktioniert! TASK_RUNLEVEL_HIGHEST
hinzu
Dann bekommst du das berühmte:
Erfolg! Aufgabe erfolgreich registriert.
Puh! Nach ein paar Stunden pro Tag und einigen Bearbeitungen ist nun ein funktionierendes volles main.cpp
:
Tags und Links c++ windows winapi scheduled-tasks