Laden...

ALLE Windows-Messages abfangen

Erstellt von Neokil vor 14 Jahren Letzter Beitrag vor 14 Jahren 4.193 Views
Neokil Themenstarter:in
206 Beiträge seit 2008
vor 14 Jahren
ALLE Windows-Messages abfangen

Hallo!
Ich würde gerne von euch wissen ob es die Möglichkeit gibt ALLE Windows-Messages abzufangen (auch die die an andere Programme gesendet werden), damit ich bei meiner Tastensperre auch ausschließen kann dass jemand einfach STRG+ALT+ENTF drückt und dann mein Programm beendet. Geht so etwas? Oder kann man vl. einfach die Tastatur für alle Programme mit Ausnahme von dem das man selber schreibt nicht erreichbar ist?

MFG
Neokil

1.361 Beiträge seit 2007
vor 14 Jahren

Hi,

mhh, meines Wissens geht das nicht.
Speziell die Strg-Alt-Entf-Message kannst du nicht abfangen.
Diese sogenannte "Secure Attention Sequence" wird einzig und allein von WinLogon registriert und kein Programm sollte das umgehen können.

Was du machen willst, sollte auch anders gehen. Starte dein Programm unter einem anderen Benutzer und schränke den aktuellen Benutzer ein. Denn als Nicht-Admin kann dieser keine fremden Prozesse beenden.

Andere Sache wäre das "Verstecken" des Prozesses vor dem Taskmanager. (Ist aber mit purem C# nicht machbar)

Gibt bestimmt noch zig andere Möglichkeiten.

beste Grüße
zommi

2.760 Beiträge seit 2006
vor 14 Jahren

Eigene Gina.dll 😉

1.361 Beiträge seit 2007
vor 14 Jahren

Wobei es ja auch schon reichen könnte die taskmgr.exe zu ersetzen 😁

oder nen kernel-treiber der die passenden interrupts abfängt und alles filtert

Achja, Wege gibt es viele, aber die meisten sind doch ziemlich holprig.

2.760 Beiträge seit 2006
vor 14 Jahren

Und super zu debuggen und testen 😉

1.696 Beiträge seit 2006
vor 14 Jahren

<j/k> IMHO in diesem Thread entsteht gerade einen neuen Trojaner/Virus 😄

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

Neokil Themenstarter:in
206 Beiträge seit 2008
vor 14 Jahren

also erst mal danke, dass ihr so schnell geantwortet habt.
Schade ist es schon, dass man das nicht so einfach machen kann 😦

Aber kann man vl. wenigstens die Kombinationen ALT+F4 usw. abfangen?

MFG
Neokil

2.760 Beiträge seit 2006
vor 14 Jahren

Ja das kann man mit Hooks machen. Das ist sogar relativ unproblematisch da es ja i.d.R. nur deine Anwendung betrifft.

Evtl. geht es auch mit einem simplen eingriff in die WndProc habs aber nicht ausprobiert.

Schade ist es schon, dass man das nicht so einfach machen kann 😦

Da könnte man sich jetzt drüber streiten 😉

H
59 Beiträge seit 2005
vor 14 Jahren

Hallo Neokil,
ALT-F4 kannst du im FormClosing Event abfangen (FormClosingEventArgs.Cancel auf true setzen).

Grüsse, harrylask

3.728 Beiträge seit 2005
vor 14 Jahren
Gpo

Man ersetzt nicht irgendwelche Dateien im Betriebssystem!

Stattdessen verwendet man Gruppenrichtlinien, um bestimmte Windows-Funktionen für bestimmte Benutzer abzuschalten (z.B. den Task-Manager oder den Internet Explorer).

Neokil Themenstarter:in
206 Beiträge seit 2008
vor 14 Jahren

wie funktioniert das mit den Gruppenrichtlinien? Kann man da auch bestimmen welche Ordner eine Person öffnen darf?

MFG
Neokil

115 Beiträge seit 2008
vor 14 Jahren

Such mal nach "gpedit". Da solltest Du einiges finden können...

Grüße,
der Michael

3.971 Beiträge seit 2006
vor 14 Jahren

Kann man da auch bestimmen welche Ordner eine Person öffnen darf?

Das macht man mit ACL des jeweiligen Objektes (in diesem Fall ein Ordner, also Rechte Maustaste auf Ordner, Sicherheit) und weißt einer Gruppe entsprechende Berechtigung zu. Im Domaincontroller kann man anschließend festlegen, welche Person zu welcher Gruppe gehört.

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...

49.485 Beiträge seit 2005
vor 14 Jahren

hallo zusammen,

bleibt mal bitte beim Thema Windows-Messages.

herbivore

3.728 Beiträge seit 2005
vor 14 Jahren
Ntfs

Ich schlecht beim Thema Windows-Messages bleiben, wenn das, was der Themenstarter machen eigentlich will, mit Windows Messages nicht funktioniert, sondern mit NTFS.

U
1.688 Beiträge seit 2007
vor 14 Jahren

Man ersetzt nicht irgendwelche Dateien im Betriebssystem!

Falls Du auf die GINA anspielst - Winlogon bietet einen ganz einfachen Mechanismus eine eigene GINA zu benutzen, ohne die des Betriebssystems ersetzen zu müssen.
Es gibt dazu auch schon fertige Lösungen von Template bis kompletter GINA mit Zusatzfeatures. Wenn ich mich recht erinnere gibt's da auch schon was bei Codeproject.

Um "alle" Windowsnachrichten aller Anwendungen abzufangen, wie z. B. das Microsoft Tool Spy++ es tut, braucht man einen Hook in einer DLL (s. SetWindowsHook), was mit C# eher nicht geht.

3.971 Beiträge seit 2006
vor 14 Jahren

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...

K
593 Beiträge seit 2007
vor 14 Jahren

Hallo kleines_eichoernchen,

das geht leider nicht bei jeder Anwendung, die die DirectInput z.b. benutzen interressieren die Hooks nicht die Bohne.

Gruß Kaji