Thema: Shortcut 1.0

Einzelnen Beitrag anzeigen

TM.

Registriert seit: 22. Jul 2006
42 Beiträge
 
#1

Shortcut 1.0

  Alt 8. Jun 2007, 13:49
hi

Vor einiger Zeit habe ich ein Programm erstellt, Shortcut. Es bietet die Funktionen, egal ob während eines Spiels oder nicht, einen Screenshot zu erstellen, den Computer herunterzufahren, oder ihn zu sperren. Steht aber auch alles in der beigelegten 'Readme-Datei'.

Für das Herunterfahren benütze ich die folgende Funktion:
Delphi-Quellcode:
function ExWindows(const AFlag: Word): Boolean;
var
  vi : TOSVersionInfo;
  hToken : THandle;
  tp : TTokenPrivileges;
  h : DWord;
begin
  result:= false;

  vi.dwOSVersionInfoSize:=SizeOf(vi);

  if GetVersionEx(vi) then
  begin
    if vi.dwPlatformId = VER_PLATFORM_WIN32_NT then
    begin
      // Windows NT
      // Achtung bei Delphi 2 muß @hToken stehen ...
      if OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES,hToken) then
      begin
        LookupPrivilegeValue(nil,'SeShutdownPrivilege',tp.Privileges[0].Luid);
        tp.PrivilegeCount := 1;
        tp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
        h := 0;
        AdjustTokenPrivileges(hToken,False,tp,0,PTokenPrivileges(nil)^, h);
        CloseHandle(hToken);
        result := ExitWindowsEx(Aflag, 0);
      end;
    end
    else
    begin // Windows 95
      Result := ExitWindowsEx(Aflag, 0);
    end;
  end;
end;
Leider hat diese Funktion nciht bei Windows XP funktioniert, sodass ich mich über eine Alternativ-Lösung freuen würde.




Mit den ganzen Delphi-Dateien ist es jetzt ziemlich unübersichtlich, es besteht aus 3 dpr's
Angehängte Dateien
Dateityp: zip shortcut2_636.zip (416,5 KB, 48x aufgerufen)
  Mit Zitat antworten Zitat