Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Shortcut 1.0 (https://www.delphipraxis.net/93627-shortcut-1-0-a.html)

TM. 8. Jun 2007 13:49


Shortcut 1.0
 
Liste der Anhänge anzeigen (Anzahl: 1)
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

Tommy1988 23. Jun 2007 01:10

Re: Shortcut 1.0
 
Dieses LOCK ist doch ein Scherz ODER ?

Taskmanager und diverse andere Shortcurs sind aufrufbar.

"save.sorce"

Es heißt SOURCE !
Das Passwort steht in der save.sorce ?! Wie sicher ist das denn?

Das einzig schne ist Logins.txt.

Luckie 23. Jun 2007 01:55

Re: Shortcut 1.0
 
Shortcut
  • Ein TrayIcon wäre schön, damit man es auch normal beenden kann und es nicht über den Taskamanger abschiessen muss zum Beenden.

Deinstallation
  • Das Löschen kann auch nicht funktionieren. Die Exe heißt "Shortcut.exe", du willst aber "Shortcut 1.0.exe" löschen.
  • Die Deinstallation kann nicht funktionieren. Du erstellst "Shortcut" in der Registry willst aber "Shortcut 1" deinstallieren.

Registry-Funktionen
  1. Die Methode OpenKey hat einen Rückgabewert, den man überprüfen könnte, was sehr sinnvoll wäre.
  2. Warum rufst du nicht [msdn]GetLastError[/i] auf, wenn etwas fehlschlägt und gibst eine sinnvolle Fehlermeldung aus?
  3. Zitat:

    "Beim Löschen der Datei ... ist ein Fehler aufgetreten!"
    Hier konnte die Datei nicht gelöscht werden, weil sie sich nicht mehr
    im selben Ordner befindet. Sollte dieser Fehler auftauchen, benachrichtigen sie mich"
    Kommst du dann bei mir vorbei? Warum prüfst du nicht vorher, ob die Datei auch existiert und löschst sie nur, wenn sie auch wirklich existiert?
  4. DeleteFileToRecycleBin, siehe Punkt 1.
  5. Wozu die künstliche Verzögerung mit dem Timer? Und dann noch das Sleep(400) in der Timer-Prozedur. :roll:

Lock
  • Das ist für die Katz: Taskmanager aufgerufen, Prozess beendet und schon war ich wieder in Windows.
  • Warum benutzt du nicht die Windows eigene und sichee Funktion: MSDN-Library durchsuchenLockWorkStation?

Also das sind dermaßen offensichtlicher Fehler, dass ich das Gefühl habe, du hast da nicht mal richtig getestet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz