![]() |
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 :) |
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. |
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:
ShellExecute hingegen ist eine Windows Funktion und auch über ShellExecute in Delphi verwendbar.
shutdown -?
pause |
AW: Mein erstes Programm ohne Hilfe.
Computer herunterfahren ist recht einfach,
hier mal ein "geklautes" Stück Code (von ![]()
Delphi-Quellcode:
Diese Funktion besorgt sich auch gleich die benötigten Rechte (wenn nötig und möglich natürlich :)) um Windows herunterzufahren.
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; Der Parameter "flag" kann folgende Werte annehmen:
Code:
Die sind ja wahrscheinlich selbsterklärend :wink:
EWX_LOGOFF
EWX_REBOOT EWX_SHUTDOWN Aber ich denke doch du wirst diesen Code nicht missbrauchen und jemanden einen bösen Streich spielen :stupid: |
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? |
AW: Mein erstes Programm ohne Hilfe.
Zitat:
|
AW: Mein erstes Programm ohne Hilfe.
Zitat:
Zitat:
Und was meinst du, wie viel Spaß es macht, wenn du was nützliches programmierst -- und wenn es nur für dich ist? |
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 :) |
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. |
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