Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Mein erstes Programm ohne Hilfe. (https://www.delphipraxis.net/158606-mein-erstes-programm-ohne-hilfe.html)

-187- 23. Feb 2011 20:33

AW: Mein erstes Programm ohne Hilfe.
 
Naja den Befehl den dein Kumpel dir gegeben hat ist für das Command Line Tool "shutdown"...

Öffne mal deine CMD und gib shutdown -? ein. Du erhälst eine liste der verfügbaren Parameter. Du kannst zum Beispiel den PC runterfahren oder auch neustarten.
Naja das ganze über Delphi ist auch kein Problem. Schau dir mal ShellExecute an.

Schöner wäre es jedoch ohne die shutdown.exe von Windows klar zukommen :)

Connor Temple 23. Feb 2011 20:39

AW: Mein erstes Programm ohne Hilfe.
 
Wenn ich im CMD shutdown -? eingebe öffnet sich für eine Nanosekunde das Fenster, dann verschwindet es wieder...
Wahrscheinlich steht das da auch mit der ShellExecute drin oder?
Denn ein F1 Druck in Delphi hat mir kein Ergebnis gebracht.

-187- 23. Feb 2011 20:43

AW: Mein erstes Programm ohne Hilfe.
 
Nein. Die CMD bzw shutdown.exe hat nichts mit Delphi zu tun. Schreib mal eine batch Datei. (.bat Datei)

In der steht:
Code:
shutdown -?
pause
ShellExecute hingegen ist eine Windows Funktion und auch über ShellExecute in Delphi verwendbar.

Anthrox 23. Feb 2011 21:00

AW: Mein erstes Programm ohne Hilfe.
 
Computer herunterfahren ist recht einfach,
hier mal ein "geklautes" Stück Code (von hier kopiert)
Delphi-Quellcode:
function ExitWin(flag:word): Boolean;
var vi : TOSVersionInfo;
    hToken : THandle;
    tp : TTokenPrivileges;
    h : DWord;

begin
  //result := false;
  vi.dwOSVersionInfoSize:=SizeOf(vi);
  GetVersionEx(vi);
  if vi.dwPlatformId = VER_PLATFORM_WIN32_NT then // Windows NT
  begin
    // Achtung bei Delphi 2 muß @hToken stehen ... !!!! ?????
    OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,hToken);
    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(flag,0);
  end
  else // Windows 95
  begin
    Result := ExitWindowsEx(flag,0);
  end;
end;
Diese Funktion besorgt sich auch gleich die benötigten Rechte (wenn nötig und möglich natürlich :)) um Windows herunterzufahren.

Der Parameter "flag" kann folgende Werte annehmen:
Code:
EWX_LOGOFF
EWX_REBOOT
EWX_SHUTDOWN
Die sind ja wahrscheinlich selbsterklärend :wink:

Aber ich denke doch du wirst diesen Code nicht missbrauchen und jemanden einen bösen Streich spielen :stupid:

Connor Temple 23. Feb 2011 21:06

AW: Mein erstes Programm ohne Hilfe.
 
Würd ich doch nie tun xD
Zum Anfang sind Funprogramme doch genau das richtige, weil ich bevor ich Delphi verstanden hab immer dachte, es wäre dämlich, jetzt wo ich mal was hinbekomme macht es richtig Spaß.^^

Hmm, bei mir kommen immer Fehlermeldungen mit dem Code, egal wo ich ihn einfüge...
Gibts nicht einfach einen normalen Befehl zum runterfahren, einen Einzeiler, der sofort ausschaltet?

-187- 23. Feb 2011 21:47

AW: Mein erstes Programm ohne Hilfe.
 
Zitat:

Zitat von Connor Temple (Beitrag 1083919)
..weil ich bevor ich Delphi verstanden hab immer dachte...

Interessant :D Ich bin gespannt auf weiteres ;)

Luckie 23. Feb 2011 22:01

AW: Mein erstes Programm ohne Hilfe.
 
Zitat:

Zitat von Connor Temple (Beitrag 1083919)
bei mir kommen immer Fehlermeldungen mit dem Code

Ah ja. Und wie stellst du dir vor dass wir dir helfen sollen?

Zitat:

Gibts nicht einfach einen normalen Befehl zum runterfahren, einen Einzeiler, der sofort ausschaltet?
Meinst du nicht auch, dass wenn es den geben würde wir ihn dir gegeben hätten oder du ihn mit Google gefunden hättest? :roll:

Und was meinst du, wie viel Spaß es macht, wenn du was nützliches programmierst -- und wenn es nur für dich ist?

-187- 23. Feb 2011 22:32

AW: Mein erstes Programm ohne Hilfe.
 
Connor dir fehlen Basics sonst würdest du nicht sowas sagen wie "..egal wo ich ihn einfüge..." ;)

Ließ dir mal einen Artikel zu Funktionen und Prozeduren durch. Dann weisst du schonmal wie du den Code einsetzt :)

Connor Temple 24. Feb 2011 10:14

AW: Mein erstes Programm ohne Hilfe.
 
Ja, ich weiß, dass mir Basics fehlen, die bringe ich mir dann nach und nach selber bei, durch ausprobieren usw.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 Uhr.
Seite 2 von 2     12   

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