Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fenster verstecken (https://www.delphipraxis.net/100069-fenster-verstecken.html)

gabneo 21. Sep 2007 22:52

Re: Fenster verstecken
 
Hi,
hört sich schon ein bischen nach malware an?!
Allein aus diesem grund wird dir hier warscheinlich keiner Code zur verfügung stellen (ich werde es auf jeden fall nicht tun).
Die frage wurde außerdem schon beantwortet, so etwas funktioniert, indem du auf den Handle des Fensters zugreifst und im zb per Sendmessage auszuführende Aktionen übergibst.
Suche einfach danach und du findest deinen Codeschnippsel.
greez

fortuneNext 21. Sep 2007 23:08

Re: Fenster verstecken
 
Liste der Anhänge anzeigen (Anzahl: 1)
Was ich vorhabe zu programmieren, ist ganz einfach das:

Beim Starten von Windows öffnet sich ein Fenster, wo steht "PASSWORT EINGEBEN". Alles wird unsichtbar, bis das richtige Passwort eingegeben wurde. Was ist daran Maleware? Das hat einfach den Sinn, dass ich den PC öfters mal anschalte und dabei eine Tasse Kaffe o.ä. trinken gehe. Dann hätte ich den PC gerne schon komplett hochgeladen, denn beim Windows Passwort wird erst weitergeladen, wenn das Passwort eingegeben wurde. Ich habe auhc nicht vor, zu warten, um dann Windows+L zu drücken. Es reicht mir vollkommen aus, die Fenster zu verstecken, da es eigentlich mehr eine Kindersicherung ist. Meine Kinde rhaben leider keine Ahnung, was ein Taskmanager ist, aber sie gehen trotzdem an meinen Arbeits-PC, wenn ich in der oben genannten Kaffeepause bin.
Also der Ablauf der Handlung:
1. PC anschalten
2. Trinken gehen
3. Kinder gehen an den PC
4. Kinder richten Schaden an
5. Ich bin gearscht

oder

1. PC anschalten
2. Trinken gehen
3. Kinder gehen an den PC
4. Kinder sehen das Windowspasswort und gehen weg.
5. Ich komme zurück
6. Erst wenn ich das Passwort eingegeben habe, werden die nächsten 5 Minuten des Windows Ladevorgangs fortgesetzt.

oder

1. PC anschalten
2. 10 Minuten warten, bis er hochgefahren ist.
3. Windows L drücken
4. Kaffee trinken gehen
etc

So soll es nach Programmierung des Programms laufen:

1. PC anschalten
2. Trinken gehen
3. Während ich afk bin, bootet der PC weiter
4. Wenn er bei Windows angekommen ist, wird mein Passworttool gestartet.
5. Während das PASSWORT EINGEBEN Fenster auf dem Bildschirm ist, lädt der PC im Hintergrund weiter.
6. Kinder kommen
7. Kinder sehen PASSWORT EINGEBEN
8. Kinder gehen weg
9. Ich komme zurück
10. Ich gebe das Passwort ein und schon ist er fertig gebootet, ich musste nicht warten.

Und wer den Sin immernoch nicht verstanden hat oder sich nichts drunter vorstellen kann, ich hab mal eine alte BETA davon (hoffe sie klappt noch), die ich mit einer anderen Sprache (AHK) gebaut habe, in den Anhang gesteckt. Damit bin ich allerdings nicht zufrieden.
Das Passwort für diese BETA dort lautet PASSWORT
im Tray kann man das ändern etc.


So, ich hoffe nach dieser ausführlichen Ausschüttung über mein Privat Leben seid ihr nun endlich zufrieden und könnt mir eine passende Antwort geben.
@ gabneo: ja, mach ich, danke.

Mackhack 21. Sep 2007 23:14

Re: Fenster verstecken
 
Ich hab nicht alles gelesen aber wie waere es mit dem Bildschirmschoner und Passwort?

Oder der Funktion MSDN-Library durchsuchenGetLastInputInfo

fortuneNext 22. Sep 2007 08:00

Re: Fenster verstecken
 
Naja, der würde dann ja regelmäßig kommen...
Aber das mit LastInputInfo ist nützlich, danke :)

@ Before:
Gibt es denn überhaupt eine elegante Möglichkeit, Fensterhandles zu ermitteln? Das Problem ist ja, ich kann ja weder den Dateinamen noch sonst was spezifizieren, es muss ja geloopt werden, sodass einfach alles versteckt wird...

gabneo 22. Sep 2007 11:43

Re: Fenster verstecken
 
Hi,
danke für die Infos. Ich möchte nur verstehen worum es grundlegend geht, und mit den Infos kann ich was anfangen. Vielleicht hilft dir dieser Code, mit dem ich mal ermittelt habe welche Prozesse alle laufen, in dem pos vergleich werden System-Prozesse aussortiert (hat keine Anforderung auf Vollständigkeit):

Delphi-Quellcode:
procedure m;
var SHandle:THandle; Continue:boolean; ProcEntry:ProcessEntry32; s:tstringlist; i:integer;
begin
s:=tstringlist.Create;
s.Sorted:=true;
shandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
ProcEntry.dwSize := Sizeof(ProcEntry);
  Continue := Process32First(SHandle, ProcEntry);
  while Continue do
   begin
    if (pos('|'+lowercase(procentry.szExeFile)+'|','|rundll32.exe|msrtmon.exe|lsm.exe|fdm.exe|dwm.exe|taskmgr.exe@|explorer.exe|csrss.exe|wininit.exe|lsass.exe|slsvc.exe|spoolsv.exe|svchost.exe|system|[system process]|smss.exe|winlogon.exe|searchfilterhost.exe|')<1) and (pos('|'+lowercase(procentry.szExeFile)+'|','|searchindexer.exe|searchprotocolhost.exe|services.exe|project1.exe')<1) then s.Add(procentry.szExeFile);
    Continue := Process32Next(SHandle, ProcEntry);
  end;
  CloseHandle(SHandle);
 //try for i:=0 to s.Count do irgendwas except end;
end;
Hoffe das hilft dir schonmal, denn dann weißt du welche Programme alle aktiv sind.
greez
gabneo

Matze 22. Sep 2007 16:04

Re: Fenster verstecken
 
Nun habe ich dein Problem verstanden. Schreibe doch eine Konsolenanwendung (evtl. geht das auch mit einer Batch-Datei), die im Autostart untergebracht ist und nichts anders macht, als Win+L an Windows zu senden und sich dann wieder zu beenden.
Das wäre die sauberste und somit sicherste Möglichkeit (auch wenn das bei dir im Hintergrund steht) und simpelst in der Realisierung. :)

gabneo 22. Sep 2007 19:31

Re: Fenster verstecken
 
da kann ich matze nur zustimmen!

fortuneNext 24. Sep 2007 08:15

Re: Fenster verstecken
 
Hmmm, leuchtet ein :idea:
Ich werd mal schauen was vom beiden ich mach, bin erstmal ne Woche im Urlaub, melde mich dann später :-D
Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 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