STRG + ALT + ENTF abfangen
lima-city → Forum → Programmiersprachen → Delphi & Pascal
aufruf
beitrag
button
deklaration
depp
dialog
funktion
geheimen button
intervall
keyboard
komplette quelltext
manager
nil
nirgend
paar buttons
prozedur
result
sender
tastenkombination
window
-
Hallo
Ich hab ein kleines Programm geschrieben, dass immer im Hintergrund l?uft.
Ist es m?glich die Tastenkommbination STRG + ALT + ENTF abzufangen und ins leere zu Leiten, damit der Task Manager nicht aufgeht.
Das Programm ist mit Delphi 7 geschrieben.
Gru?
EDIT 0-checka:
Verschoben ins passende Forum
Beitrag ge?ndert am 1.02.2006 10:36 von 0-checka -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das bekommt man nirgend wo her.
Es ist f?r einen PC geschrieben, der als MP3 Player arbeitet.
Der Explorer wurde deaktiviert und das Programm hat zwei Buttons, einen um Winamp aufzurufen und einen um den PC auszuschalten. Wenn mann aber ALT + STRG + ENFT dr?ckt kommt man zum Task Manager und kann alles am PC machen. Soll man aber nicht. Nur ich weis, ?ber einen geheimen Button im Programm wie der Task Manager aufgerufen.
-
Tach,
unter welchem Betriebssystem soll das Programm denn laufen? 9x oder XP?
Raphael -
Tach,
schau mal hier, da wird erkl?rt, wie man den Taskmanager ?ber die Registry deaktiviert:
http://www.delphipraxis.net/viewtopic.php?p=52482
Raphael -
Soweit ich wei? ist das nicht m?glich, da diese Kombination bei Windows bereits auf unterster Ebene abgefangen wird.
Ich glaube, bevor also andere Programme erst sehen, dass diese Tastenkombination aufgetreten ist, wird der Task-Manager bereits ge?ffnet.
Schlie?lich geht es auch um die Sicherheit des Users und wenn man z.B. einen Virus hat, w?re es schlie?lich total schlimm, wenn man nicht mal mehr den Task-Manager aufrufen k?nnte...
H2O -
Das hab ich schon probiert.
Aber dann kann ich den Task Manager gar nicht mehr starten.
Er soll ja ?ber den versteckten Button gestartet werden k?nnen, aber nicht ?ber ALT+STRG+ENFT
Gru? -
w?rd mich auch interssieren wie das geht, aber du kannst versuchen ob du die Tastatur einfach mit speerst, ich mein Lieder kann man auch mit der Maus ausw?hlen und irgendwie per Passwort das wieder anktivieren l?sst von mir aus in na bestimmten reinfolge auf n paar buttons klicken oder so
-
Tach,
wo ist das Problem? Du reaktivert einfach bei deiner versteckten Funktion die entsprechenden Registryeintr?ge und machst ein Shellexecute der taskmgr.exe.
Raphael -
Also hier mal das Programm
http://home.as-netz.de/reinerschambeck/kljb/kljb_explorer.zip
Edit by H2O:
Inhalt des Doppelpostings:
Hiermal der komplette Quelltext
unit kljb;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, ShellAPI, StdCtrls, ExtCtrls, jpeg;
type
TForm1 = class(TForm)
btn_brennen: TSpeedButton;
btn_winamp: TSpeedButton;
btn_cdex: TSpeedButton;
btn_musik: TSpeedButton;
btn_alles: TSpeedButton;
btn_ausschalten: TSpeedButton;
Timer1: TTimer;
lab_time: TLabel;
Label1: TLabel;
img_kljb: TImage;
procedure btn_brennenClick(Sender: TObject);
procedure btn_winampClick(Sender: TObject);
procedure btn_cdexClick(Sender: TObject);
procedure btn_musikClick(Sender: TObject);
procedure btn_allesClick(Sender: TObject);
procedure btn_ausschaltenClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Label1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btn_brennenClick(Sender: TObject);
begin
ShellExecute(Handle,NIL,PChar('C:\Programme\Ahead\Nero\nero.exe'),nil,nil,SW_SHOWNORMAL);
end;
procedure TForm1.btn_winampClick(Sender: TObject);
begin
ShellExecute(Handle,NIL,PChar('C:\Programme\Winamp\winamp.exe'),nil,nil,SW_SHOWNORMAL);
end;
procedure TForm1.btn_cdexClick(Sender: TObject);
begin
ShellExecute(Handle,NIL,PChar('C:\Programme\CDex_150\CDex.exe'),nil,nil,SW_SHOWNORMAL);
end;
procedure TForm1.btn_musikClick(Sender: TObject);
begin
ShellExecute(Handle,NIL,PChar('D:\musik.m3u'),nil,nil,SW_SHOWNORMAL);
end;
procedure TForm1.btn_allesClick(Sender: TObject);
begin
ShellExecute(Handle,NIL,PChar('D:\alles.m3u'),nil,nil,SW_SHOWNORMAL);
end;
procedure TForm1.btn_ausschaltenClick(Sender: TObject);
begin
ShellExecute(Handle,NIL,PChar('D:\shutdown.bat'),nil,nil,SW_SHOWNORMAL);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
lab_time.Caption :=TimeToStr(Now);
end;
procedure TForm1.Label1Click(Sender: TObject);
begin
ShellExecute(Handle,NIL,PChar('C:\Windows\system32\taskmgr.exe'),nil,nil,SW_SHOWNORMAL);
end;
end.
Beitrag ge?ndert am 13.03.2006 16:00 von h2o -
aber f?r was brauchst das versteh ich ned...
willste virus raufmachen
und dann das keiner mehr ALT + STRG + ENTF dr?cken kann oder was?^^
Edit jacr
Bevor man sowas fragt sollte man vielleicht mal den Thread lesen. -
Bin mir nicht sicher, ob das geht, aber probier's mal aus:
var
i: Integer;
i:=0;
//sperren
SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,@i,0);
//entsperren
SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,@i,0);
Ansonsten wirst Du nicht um einen Keyboard-Hook herumkommen, und da weis ich nicht mal, ob der vor oder nach dem System selbst h?ngt, also das abf?ngt, oder nicht!
mfg -
Ah! Da ich den Thread wieder mal sehe: Hab da heute beim St?bern im Internet noch was hilfreiches f?r dich gefunden:
http://dsdt.info/tipps/?id=206 -
<Zitat>
Auch durch die Tastenkombination STRG+ALT+ENTF wird die Blockierung aufgehoben
</Zitat>
Das ist ja genau, was nicht sein soll. Man soll alles verwenden k?nnen, nur nicht STRG+ALT+ENTF. -
Mach 3 Timer...
Timer1
Intervall=1 ~ enabled= true
Timer2
Intervall=1 ~ Enabled=false
Timer3
Intervall=1 ~ Enabled=false
Funktionen die du brauchst:
function IsExeRunning(const AExeName: string): boolean;
var
h: THandle;
p: TProcessEntry32;
begin
Result := False;
p.dwSize := SizeOf(p);
h := CreateToolHelp32Snapshot(TH32CS_SnapProcess, 0);
try
Process32First(h, p);
repeat
Result := AnsiUpperCase(AExeName) = AnsiUpperCase(p.szExeFile);
until Result or (not Process32Next(h, p));
finally
CloseHandle(h);
end;
end;
function KillTask(const AExeName: string): boolean;
var
p: TProcessEntry32;
h: THandle;
begin
Result := false;
p.dwSize := SizeOf(p);
h := CreateToolHelp32Snapshot(TH32CS_SnapProcess, 0);
try
if Process32First(h, p) then
repeat
if AnsiLowerCase(p.szExeFile) = AnsiLowerCase(AExeName) then
Result := TerminateProcess(OpenProcess(Process_Terminate,
false,
p.th32ProcessID),
0);
until (not Process32Next(h, p)) or Result;
finally
CloseHandle(h);
end;
end;
Prozeduren der Timer:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if isexerunning('taskmgr.exe') then
Killtask('taskmgr.exe');
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
if not isexerunning('taskmgr.exe') then begin
Timer1.Enabled := True;
Timer2.Enabled := False;
end;
end;
procedure TForm1.Timer3Timer(Sender: TObject);
begin
if isexerunning('taskmgr.exe') then begin
Timer3.Enabled := False;
Timer2.Enabled := True;
end;
end;
OnClick Prozedur des geheimbuttons:
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled := False;
Timer3.Enabled := True;
winexec('taskmgr.exe', SW_SHOWNORMAL);
end;
so...
also der timer1 l?uft erst die ganze zeit und beendet den Taskmanager immer wieder wenn er ge?ffnet wird... Wenn du aber deinen geheimen button dr?ckst, wird der timer 1 beendet, und timer3, der wartet bis der taskmanager offen ist , gestartet.. (der Taskmanager startet alleine) wenn der taskmanager dann gestartet ist beendet sich der timer3 selber und startet den timer2... der wartet dann bis der taskmanager aus ist und aktiviert timer 1 und deaktiviert sich selbst...
so muss das gehn... so hab ich das in meinem programm hab delphi 2005... wei? nicht ob es geht, wenn man ne ?ltere version hat, aber eigentlich schon, ist nichts anspruchsvolles drin..
-
also ich w?re mit dem deaktivieren ds taskmanager sehr vorsichtig...
hab mich n?mlich so mal durch durch einen tipfehler (1 statt 0 und dann auch noch ?ber den nummernblock ) selber vom gesamten system ausgesperrt...
problem dabei war n?mlich: es lief eine modemdaten?bertragung und ich depp hab w?hrenddessen noch ein wenig programmiert...
naja dumm gelaufen gut 18 stunden der rechenr blockiert
aber vorsicht: hat man den trick mit taskmanager raus, gibts noch jede menge andere die man findet (stichwort wmi) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage