Entwickler-Ecke
Windows API - Befehl für Windows shut down
Marco15 - Mi 02.03.05 16:57
Titel: Befehl für Windows shut down
Hallo zusammen!!!
Wie kann ich erreichen, dass Delphi Windows herunterfährt wenn eine Bedingung erfüllt wird ???
Bitte antwortet.
Danke schon Mal im vorraus.
Marco15
Ich habe ein Passwortprogramm erstellt bei dem Windows heruntergefahren werden soll, wenn man dreimal das falsche Passwort eingegeben hat.
????
Danke im Vorraus :lol:
Hier der Quelltext:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; Button8: TButton; Button9: TButton; Button10: TButton; Button11: TButton; Label2: TLabel; Button12: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button8Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure Button10Click(Sender: TObject); procedure Button11Click(Sender: TObject); procedure Button12Click(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.DFM}
var zaehler : integer;
procedure enter_klick; begin if form1.edit1.text = '46446' then begin application.title := '-3.000 €'; showMessage (' Sie haben kein Geld mehr auf dem Konto '); form1.edit1.clear; zaehler := 0; end else begin zaehler := zaehler +1; if zaehler = 1 then begin application.title := 'UNGÜLTIG !!!!!!'; showMessage (' Falsche Eingabe (1) '); showMessage (' Sie haben noch 2 Versuche !!! '); form1.edit1.clear; end; if zaehler = 2 then begin application.title := 'UNGÜLTIG !!!!!!'; showMessage (' Falsche Eingabe (2) '); showMessage (' Sie haben noch 1 Versuch !!! '); form1.edit1.clear; end; if zaehler = 3 then begin application.title := 'UNGÜLTIG !!!!!!'; showMessage (' Falsche Eingabe (3) '); showMessage (' Ihre Karte wird nun eingezogen !!! '); form1.edit1.clear; showMessage ('Bitte wenden Sie sich an die Bundeszentralbank'); halt; end; end; end;
procedure eins_klick; begin form1.edit1.text := form1.edit1.text + '1'; end;
procedure zwei_klick; begin form1.edit1.text := form1.edit1.text + '2'; end;
procedure drei_klick; begin form1.edit1.text := form1.edit1.text + '3'; end;
procedure vier_klick; begin form1.edit1.text := form1.edit1.text + '4'; end;
procedure fuenf_klick; begin form1.edit1.text := form1.edit1.text + '5'; end;
procedure sechs_klick; begin form1.edit1.text := form1.edit1.text + '6'; end;
procedure sieben_klick; begin form1.edit1.text := form1.edit1.text + '7'; end;
procedure acht_klick; begin form1.edit1.text := form1.edit1.text + '8'; end;
procedure neun_klick; begin form1.edit1.text := form1.edit1.text + '9'; end;
procedure null_klick; begin form1.edit1.text := form1.edit1.text + '0'; end;
procedure clear_klick; begin form1.edit1.clear; end;
procedure TForm1.Button1Click(Sender: TObject); begin enter_klick; end;
procedure TForm1.Button2Click(Sender: TObject); begin eins_klick; end;
procedure TForm1.Button3Click(Sender: TObject); begin zwei_klick; end;
procedure TForm1.Button4Click(Sender: TObject); begin drei_klick; end;
procedure TForm1.Button5Click(Sender: TObject); begin vier_klick; end;
procedure TForm1.Button6Click(Sender: TObject); begin fuenf_klick; end;
procedure TForm1.Button7Click(Sender: TObject); begin sechs_klick; end;
procedure TForm1.Button8Click(Sender: TObject); begin sieben_klick; end;
procedure TForm1.Button9Click(Sender: TObject); begin acht_klick; end;
procedure TForm1.Button10Click(Sender: TObject); begin neun_klick; end;
procedure TForm1.Button11Click(Sender: TObject); begin null_klick; end;
procedure TForm1.Button12Click(Sender: TObject); begin clear_klick; end;
end. |
Moderiert von
raziel: Delphi-Tags hinzugefügt.
Moderiert von
raziel: Beiträge zusammengefasst.Moderiert von
Tino: Topic aus Sonstiges verschoben am Mi 02.03.2005 um 17:50
Delete - Mi 02.03.05 17:12
Warum dreimal der gleiche Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| if zaehler = 1 then begin application.title := 'UNGÜLTIG !!!!!!'; showMessage (' Falsche Eingabe (1) '); showMessage (' Sie haben noch 2 Versuche !!! '); form1.edit1.clear; end; if zaehler = 2 then begin application.title := 'UNGÜLTIG !!!!!!'; showMessage (' Falsche Eingabe (2) '); showMessage (' Sie haben noch 1 Versuch !!! '); form1.edit1.clear; end; if zaehler = 3 then begin application.title := 'UNGÜLTIG !!!!!!'; showMessage (' Falsche Eingabe (3) '); showMessage (' Ihre Karte wird nun eingezogen !!! '); form1.edit1.clear; showMessage ('Bitte wenden Sie sich an die Bundeszentralbank'); halt; end; |
Und Quellcode, wie man Windows runterfährt gibt es im Forum genug.
Marco15 - Mi 02.03.05 17:17
Jo Danke
Tschau
Timosch - Do 03.03.05 12:22
Ist aber sinnlos, denn so eine Passwortabfrage lässt sich bekanntlich durch den abgesicherten Modus umgehen.
Domi-ON.de - Sa 05.03.05 11:53
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| if zaehler <= 3 then begin application.title := 'UNGÜLTIG !!!!!!'; showMessage (' Falsche Eingabe (1) '); showMessage (' Sie haben noch 2 Versuche !!! '); form1.edit1.clear; end; |
so sparst du dir es 3 mal zu machen ^^
zum runterfahren, ausloggen oder sonst was, schau dir mal das an:
http://www.swissdelphicenter.ch/de/showcode.php?id=168
//Edit: musst dir halt noch ne variable machen, wie viele Versuche es schon waren, die du dir dann oben anzeigen lassen kannst mit showmessage
Heiko - Sa 05.03.05 11:59
Wenn das Programm nicht für Win NT oder XP ist reicht auch ExitWindowsEx ohne dem Quelltext davor (der Quelltext davor ist nur dafür die Rechte für das herunterfahren vom Betriebssystem zu bekommen).
wewe - Sa 05.03.05 22:09
Ich wollt die gleiche frage uch in Forum stellen :D !
Kan nicht jemand ein code einfügen???? ( wie man den Computer in c oder c++ herunterfährt weiß ich aber in delphi nicht ! :( )
Delete - Sa 05.03.05 22:24
| Heiko hat folgendes geschrieben: |
| Wenn das Programm nicht für Win NT oder XP ist reicht auch ExitWindowsEx ohne dem Quelltext davor (der Quelltext davor ist nur dafür die Rechte für das herunterfahren vom Betriebssystem zu bekommen). |
Erstens hieße es "ohne
den", zweitens spielt das keine Rolle, denn unter 9x/ME macht der Code auch nichts, bzw. man kann/sollte ihn so gestalten, dass der unter 9x/ME nicht ausgeführt wird. Noch besser ist eine separate Prozedur, wie bspw.
SetPrivilege [
http://www.delphi-forum.de/viewtopic.php?p=26507#26507], die man für verschiedene Zwecke nutzen kann.
@wewe: Da kann ja was nicht stimmen, denn der Befehl unterscheidet sich in Delphi bestenfalls ein bisschen von der Syntax. Wenn du also die C-Variante kennst, dann kennst du auch die Delphi-Version.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!