| Autor |
Beitrag |
davide007
Hält's aus hier
Beiträge: 3
|
Verfasst: So 03.04.11 18:03
Hi Leute,
ich weiß nicht ob ich hier richtig bin aber hier ist mein Problem.
ich möchte ein Delphi Programm schreiben das nicht mehr zu schließen ist. Eine Endlosschleife kann man mit dem Task-Manager schließen. Wenn ich die ganze Zeit fsstayontop und fsnormal abwechsel bin ich schon ein Schritt weiter nur das Das Bild nicht mehr ganz in den Vordergrund kommt und man so die Möglichkeit hat im richtigen Moment zu drücken und das Programm trotzdem mit dem Taskmanager zu schließen.
Danke schon mal im Vorraus
|
|
haentschman
      
Beiträge: 285
Erhaltene Danke: 33
DX10 Berlin Professional
|
Verfasst: So 03.04.11 18:07
Hallo...
| Zitat: | | ich möchte ein Delphi Programm schreiben das nicht mehr zu schließen ist. |
...da machst du dir bestimmt viele Freunde...
Suche mal nach Kiosk Modus...
|
|
davide007 
Hält's aus hier
Beiträge: 3
|
Verfasst: So 03.04.11 18:25
is ja nur just for fun.
Wir haben in der Schule Angefangen solche Sachen zu Programmieren.
Mein erster Versuch war:1. Knöpfe die zur Seite Rücken wenn du sie drücksen willst
2. Ein Text erscheinen zu lassen wo "Viren werden gedownloaded"
steht
3. Das Bild in Rot und gelb abwechselnd aufflackern lassen
4. Das Programm in eine Endlosschleife bringen und den X-Knopf
wegmachen
Das reicht mir noch nicht  ich würde das ganze lieber noch etwas "lustiger" machen. Eben indem man das Programm fast gar nicht mehr schließen kann  Nur durch ne Hintertür oda so
hat jemand ne Lösung?
|
|
bummi
      
Beiträge: 1248
Erhaltene Danke: 187
XP - Server 2008R2
D2 - Delphi XE
|
Verfasst: So 03.04.11 18:29
Du kannst es auf verschiedene Arten extrem schwer machen es zu schließen, aber das hier auszuführen halte ich nicht für sinnvoll....
_________________ Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
|
|
Marc.
      
Beiträge: 1876
Erhaltene Danke: 129
Win 8.1, Xubuntu 15.10
|
Verfasst: So 03.04.11 18:35
bummi hat folgendes geschrieben : | | Du kannst es auf verschiedene Arten extrem schwer machen es zu schließen, aber das hier auszuführen halte ich nicht für sinnvoll.... |
...da es auch nach den Richtlinien (5.4) hier nicht erwünscht ist.
Wenn du deine Mitschüler beeindrucken willst, schreib doch etwas sinnvolles. Z.B. ein Spiel, wie Snake oder was auch immer. 
|
|
davide007 
Hält's aus hier
Beiträge: 3
|
Verfasst: So 03.04.11 18:56
Es geht mir nicht darum Mitschüler zu beeindrucken sondern für mich. Mich interessiert wie das geht. Aber die Idee mit Snake find ich gut ich glaub das mach ich.  Trotzdem interessiertes mich wie ich das "Problem" löse.
|
|
Tranx
      
Beiträge: 648
Erhaltene Danke: 85
WIN 2000, WIN XP
D5 Prof
|
Verfasst: So 03.04.11 19:18
Denke, dass es so einfach nicht ist. Denn selbst wenn Du die Tasten sperrst, die zum Beenden des Programms führen, oder diese Routine umleitest, gibt es ja noch den Task-Manager. Der wird nur mit sehr hohem Aufwand zu umgehen sein. Denn dann müsste das Programm gleichsam "schreibgeschützt" laufen.
_________________ Toleranz ist eine Grundvoraussetzung für das Leben.
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: So 03.04.11 19:34
wobei man da überprüfen kann in sehr schnellen abständen ob der taskmanager offen ist und wenn dem so sein sollte sendet man dem halt ein close... aber ja, soviel zu dem thema "verboten hier im DF".
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
trm
      
Beiträge: 491
Erhaltene Danke: 19
Windows 7x64
Delphi 7
|
Verfasst: So 03.04.11 19:58
Nur mal so einwerf..
Eine Endlosschleife sollte in Deinem Fall immer das Fenster GANZ nach oben setzen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| case CheckBox_StayOnTop.Checked of True: begin Application.MainForm.Borderstyle := bsNone; Application.MainForm.FormStyle := fsStayOnTop; Application.MainForm.WindowState := wsMaximized; SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_DRAWFRAME or SWP_NOMOVE or SWP_NOSIZE); end; False: begin Application.MainForm.Borderstyle := bsSizeable; Application.MainForm.FormStyle := fsNormal; Application.MainForm.WindowState := wsNormal; SetWindowPos(Handle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_DRAWFRAME or SWP_NOMOVE or SWP_NOSIZE); end; end; Application.Processmessages; |
Mit diesem Test kann man das leicht nachvollziehen. Wichtig ist hier aber unbedingt das Application.Processmessages; , da sonst die Checkbox nicht mehr nutzbar ist. In meinem Fall ist das Fenster auf eine maximale Größe gesetzt, evtl. sollte man einen Zwischenpuffer einbauen, mit dem die Fenstergröße angepasst werden kann.
Aber das ist nur Spielerei 
_________________ In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: So 03.04.11 20:39
Moin!
Spaßprogramme sind hier nicht erwünscht. Siehe hierzu auch unsere Richtlinien:
| 5.4 Viren, Scherzprogramm und Co.: | | Das Erstellen von Viren und Scherzprogrammen wird durch das Forum nicht unterstützt. Wird klar, dass eine oder mehrere Fragen darauf abzielen, so etwas oder ähnliches zu erstellen, werden die entsprechenden Topics gelöscht oder geschlossen. |
Da diese Entscheidung Ermessenssache und somit subjektiv ist, werden wir sie im Team diskutieren und, sofern sich eine Mehrheit dafür ausspricht, teilweise oder komplett revidieren. Sofern vorhanden, kannst du deine Argumente über den Link "Kontakt zum Team" unten auf der Seite in diese Diskussion einbringen.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|