Entwickler-Ecke
Sonstiges (Delphi) - 3 Fragen
Tobias - Sa 05.10.02 12:49
Titel: 3 Fragen
hi. ich habe 2 fragen:
1. wie kann ich verhindern das mein programm im taskmanager steht? also es soll mit str-alt-entf nicht zu beenden sein...
2. wie kann dafür sorgen das man die maus nicht mehr bewegen kann?
3. ich habe eine text datei, in dieser textdatei steht nur ein wort. wie kann ich dann überprüfen, ob der text der txt datei mit dem text des editfeldes übereinstimmen?
bis11 - Sa 05.10.02 12:56
Hi,
zu 1.) : hätte ich da folgenden Code
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| var Form1: TForm1;
function RegisterServiceProcess(dwProcessId,dwType: dword):Integer;stdcall;external 'kernel32.dll';
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject); begin RegisterServiceProcess(0,1); end; |
zu 2.) Das kannst Du nur mit einem Hook machen, weiß aber nicht genau wie das funktioniert. Du solltest vielleicht mal danach im Forum suchen, vielleicht findest Du ja etwas.
zu 3.) Lade Deine Textdatei in eine Stringlist und vergleiche dann den Eintrag 0 aus der StringList mit dem Editfeld. Statt einer Stringlist kannst Du auch ein Memo nehmen wo die Textdatei drin geladen wird.
Tobias - Sa 05.10.02 14:26
ok danke! wenn noch jemand konkrete beispiele zu 2 + 3 weis bitte sagen :)
Delete - Sa 05.10.02 15:48
Zu 2 + 3 nicht, aber zu 1:
Ich freue mich schon darauf, wenn du (oder wer auch immer) das Programm auf einem NT-System (NT, 2000, & XP) testest. Da gibt´s die Funktion "RegisterServiceProcess" nämlich nicht. Und wenn du sie so einbindest, wie von bis11 gezeigt, sieht man zuerst eine unschöne Fehlermeldung.
Du müsstest die Funktion also dynamisch laden. Aber wie dem auch sei: auf NT-Systemen ist der vermeintliche Schutz demnach wirkungslos.
SMI - Sa 05.10.02 19:20
was Konkretes zu 3)
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| Var str: TStrings;
begin str:=TStrings.Create; Try str.LoadFromFile('d:\xxx'); if edit1.text = str.Text then showmessage('gleich'); finally str.free end; end; |
SMI
(06.10.02 23:42 Tino) Code-Tags hinzugefügt.
Delete - Sa 05.10.02 23:47
@SMI: Kompiliert hast du deinen Code nicht oder? Dann wäre dir bestimmt die Kompilerwarnung aufgefallen:
| Zitat: |
[Warnung] Unit1.pas(31): Erstelle Instanz von 'TStrings' mit abstrakten Methoden
|
So gehts es richtig:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.FormCreate(Sender: TObject); Var str: TStringList; begin str:=TStringList.Create; Try str.LoadFromFile('d:\xxx'); if edit1.text = str.Text then showmessage('gleich'); finally str.free end; end; |
Tobias - So 06.10.02 19:22
also mit dem tipp von 2tens komm ich absolut nicht klar..
Delete - So 06.10.02 19:52
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TForm1.Button1Click(Sender: TObject); begin ClipCursor(nil); end;
procedure TForm1.Button2Click(Sender: TObject); var rec: TRECT; begin rec.Top := Top; rec.Left := Left; rec.Right := Left + Width; rec.Bottom := Top+ Height; ClipCursor(@rec); end; |
Wolff68 - So 06.10.02 20:05
Ups, war ich mal wieder zu langsam...
Aber ich hab auch mal versucht über GetWindowRect(Application.Handle, rec); den Cursor im aktuellen Fenster zu halten. Ist mir aber dann die Maus komplett stehengeblieben. OK. Warscheinlich hab ich mich zu dumm angestellt auf die Schnelle. *gg*
Übrigends macht sich ein
Quelltext
1: 2: 3: 4:
| procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin ClipCursor(NIL); end; |
nicht schlecht, oder wird die Maus automatisch wieder freigegeben wenn die Anwendung geschlossen wird?
Wolff68 - So 06.10.02 20:08
Übrigends macht mich die Kombination deiner ersten 2 Fragen doch irgendwie misstrauisch.
Was versuchtst denn da zu basteln?
Die Maus von einem nicht-schliessbaren Programm einfangen ???
hmmm.
Delete - So 06.10.02 20:12
| Wolff68 hat folgendes geschrieben: |
nicht schlecht, oder wird die Maus automatisch wieder freigegeben wenn die Anwendung geschlossen wird? |
Nein.
Wolff68 - So 06.10.02 21:12
Oh. Dann hatte ich ja gut daran getan es in die Close-Proc zu packen 8)
Den Button2 hätt ich ja bei mir mit der Maus dann nimmer erreicht. (OK. Über Tastatur wäre es natürlich auch gegangen.)
SMI - So 06.10.02 22:16
@Lucky
| Zitat: |
| Kompiliert hast du deinen Code nicht oder? Dann wäre dir bestimmt die Kompilerwarnung aufgefallen |
- Nein hab ich wirklich nicht, mein Compiler war mein Kopf, und der hat dummerweise diese Warnung nicht mehr in Erinnerung gehabt.
SMI
Delete - So 06.10.02 22:32
Ich habe mir wohl einen verdammt schweren Nick ausgesucht :roll: : Lucky, Lucy, luckie, Luky. Das sind doch nur 6 Buchstaben. :shock:
SMI - So 06.10.02 22:56
Sorrie :-)
Delete - So 06.10.02 22:58
Mußt dich nicht entschuldigen. Ist mir egal. Bloß heute war der Name wohl in jeden zweiten Posting falsch geschrieben, hier, Coder-Area, Delphi-Praxis. Nur im Spotlight nicht, aber das lag wohl daran, dass sie micht nicht zitieren mußten. :P
Tobias - Mo 07.10.02 18:25
>Übrigends macht mich die Kombination deiner ersten 2 Fragen doch >irgendwie misstrauisch.
>Was versuchtst denn da zu basteln?
>Die Maus von einem nicht-schliessbaren Programm einfangen ???
>hmmm.
die antwort: soetwas wie einen "bildschirmschoner" mit kennwort. im einem formular wird das kennwort in eine txt datei geschrieben und im anderen um das programm zu schliesen wird genau dieser inhalt der textdatei verlangt. grund für maus nicht bewegen: wäre doch schade wenn man das prog einfach nach unten ziehn könnte oder? und dann das mit dem strg-alt-entf das man es logischer weise nicht einfach abschalten kann ;)
a.C.k - Fr 11.10.02 13:55
Vergess nicht den HotKey Alt+F4 :!:
Sollte aber ein Thema sein, den zu überlagern....
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!