PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mal ne Frage zum Starten von MS-DOS Befehlen .


RiPpErO
12.02.2002, 18:49
Also wie ist der Befehl zum starten von MS-DOS Befehlen wenn man z.B. auf einen Button klickt das sich dann die Maus deaktiviert oder so ? Den Code zum deaktivieren der Maus kenn ich aber ich weiß nicht wie man das dann starten lassen kann ! ;-)


MFG RiPpErO


Felix Kaiser
12.02.2002, 20:40
Was willst du mit MS-DOS Befehlen in Delphi ?

RiPpErO
12.02.2002, 20:53
ich will das wenn man auf den Button klickt sich z.B. die maus deaktiviert ! ;-)


MFG RiPpErO

Felix Kaiser
12.02.2002, 22:26
In WINDOWS kann man nicht per MS-DOS Befehl die Maus deaktivieren ;)

Manu
13.02.2002, 03:48
Hehe, absolut korrekt, Guru.. Ripper, wie würdest du es denn ohne Delphi machen? wahrscheinlich suchst du ShellExecute.. gibts schon paar Beitrage zu hier.. such nach ShellExecute und du solltest was finden :)

RiPpErO
13.02.2002, 14:40
Ups ich meinte : Wie kann man die Rundll32 Befehle über Delphi starten ? Also wenn man auf die Schaltfläche klickt soll dann z.B. die Maus deaktiviert werden ! Ich kenn den Rundll32 Befehl dafür . Ich müsste nur wissen wie man das dann mit Delphi anstellt ! ;-)


MFG RiPpErO

Felix Kaiser
13.02.2002, 17:48
ShellExecute(0,´open´,´rundll32´,´Parameter für rundll32´,nil,SW_SHOW);

Da wo Parameter ist setzt du halt deine Parameter für rundll32 zum Deaktivieren der Maus ein. Mich würde mal interessieren in wie weit das funktionieren soll mit dem Deaktivieren und in wie weit es von welchem Windows unterstützt wird. Kannst dann gerne bitte den RUNDLL32 Befehl hier posten!

RiPpErO
13.02.2002, 20:30
Danke ! Ich weiß nicht genau bei welchen Windows Versionen das funzt . Probiers aus *gg* :

C:\windows\rundll32.exe user,disableoemlayer --> Systemabsturz

C:\windows\rundll32.exe keyboard,disable --> schaltet die Tastatur bis
zum nächsten Neustart aus

C:\windows\rundll32.exe mouse,disable --> schaltet die Maus bis zum
nächsten Neustart aus

C:\windows\rundll32.exe user,exitwindows --> Windows beenden

C:\windows\rundll32.exe user,exitwindowsexec --> Windows neustarten

Ein paar Rundll32 Befehle . Kann man z.B. einen dieser Befehle bei als Verknüpfung auf dem Desktop machen . So dass wenn man auf den Icon klickt z.B. der PC neustartet ! ;-)


MFG RiPpErO

RiPpErO
13.02.2002, 20:38
Irgendwie funzt der Code nicht ! Woran könnte das liegen ?????? ;-)


MFG RiPpErO

Manu
14.02.2002, 14:46
Hmmm..welches OS?

Poste mal den Code :)

Cya

RiPpErO
14.02.2002, 14:52
Steht doch alles schon hier aber na gut : ShellExecute(0,´open´,´rundll32´,´C:\windows\rundll32.exe mouse,disable ´,nil,SW_SHOW) ;-)


MFG RiPpErO

Felix Kaiser
14.02.2002, 18:52
Also der Vorschlag mit ExitWindows sagt mir sofort, dass es unter NT Systemen, WinME und/oder Win2000 nicht funktionieren muss.

Probiers mal so:

ShellExecute(0,´open´,´rundll32´,´mouse,disable´,nil,SW_SHOW);

Wenn das nicht klappt funktioniert der Aufruf nicht oder die Funktion für Maus deaktivieren wird nicht unterstützt.

RiPpErO
14.02.2002, 20:57
Der funzt auch nciht ! immer das mit ShellExecute !!! ShellExecute(0,´open´,´rundll32´,´mouse,disable´,nil,SW_SHOW); ;-)

MFG RiPpErO

Felix Kaiser
14.02.2002, 22:52
Dann funktioniert das Mausdeaktivieren wohl anders oder wird vom Betriebssystem nicht unterstützt. Such doch nochmal bei Google nach einer weiteren möglichen Lösung oder mach ein neues Thema auf :)

xOOn
15.02.2002, 08:13
wie man die mouse deaktivert weiss ich nicht aber damit kann man sie unsichtbar machen:

ShowCursor (false);

zum reaktivieren mache einfach

ShowCursor (true);

ciao...

RiPpErO
15.02.2002, 14:07
Ja ok aber das iss nicht das gleiche naja trotzdem danke für den Tip !!! Ich guck nochmal ! ;-)

MFG RiPpErO

Felix Kaiser
15.02.2002, 14:23
Mit Cursorclipping kannst du vielleicht etwas anfangen. Kommt aber auf die Art der Verwendung an. Ich habs mal an einem Formular getestet: Maximiert + StayOnTop. Hatte 2 Buttons in dem. Der eine löst das aus:

var
r: TRect;
begin
r.Left:= Screen.Width;
r.Top:= Screen.Height;
r.Right:= Screen.Width+10;
r.Bottom:= Screen.Height+10;
ClipCursor(@r);
ShowCursor(False);
end;

Und der andere das:

begin
ClipCursor(nil);
ShowCursor(True);
end;

Hab ich nun den einen geklickt war Mauszeiger weg und Maus reagierte nicht mehr. Habe ich per Tastatur nun den anderen aufgerufen, so war alles wieder da.

RiPpErO
15.02.2002, 14:44
Also bei mir funzt nur das nicht sichtbar machen und dann anschließend wieder sichtbar machen ! Bei den anderen Befehlen bekommt er immer Probleme und akzeptiert sie nicht ! ;-)


MFG RiPpErO

xOOn
15.02.2002, 14:49
kann es sein dass du winnt hast und nicht als admin eingeloggt bist

RiPpErO
15.02.2002, 14:59
Nein ich hab Win 98 . ;-)


MFG RiPpErO

xOOn
15.02.2002, 15:29
ShellExecute(0,´open´,´rundll32´,´C:\windows\rundll32.exe mouse,disable ´,nil,SW_SHOW) ;-)

hast du gepostest

ersetz das mit

ShellExecute(0,´open´,´rundll32´,´mouse, disable ´,nil,SW_SHOW);

weil als parameter darfst du nicht die exe angeben ;)

aber wirklich super versteckt hast du den fehler mein kompliment...

RiPpErO
15.02.2002, 16:04
Hmmmmmmmm so leid es mir tut das funzt auch nicht . Auch zu verflickst !!! Folgenes akzeptiert er nicht : ShellExecute(0,´open´,´rundll32´,´mouse, disable ´,nil,SW_SHOW); ! ;-)


MFG RiPpErO

RiPpErO
15.02.2002, 16:10
Sonst wüsste ich noch gern wie man das Programm so macht das sich immer mehr Pop-Ups öffnen . *gg* . ;-)


MFG RiPpErO

xOOn
15.02.2002, 16:19
sorry aber viren zu schreiben helf ich dir nicht

RiPpErO
15.02.2002, 16:43
Viren ????????? Man kann das doch bestimmen wieviele Pop-Ups sich öffnen sollen oder nicht ? Außerdem iss es für meinen Freund . Keine Sorge ich schreib schon keine Viren ich mach mich nicht starfbar ! ;-)


MFG RiPpErO

xOOn
15.02.2002, 17:01
das sag ich auch immer das ist ja das problem ;))

also wo ist das problem, lege ne 2. Form an

und mach

var
x : TForm2;
begin

while true do
begin
x := TForm2.Create (Application);
x.Show;
end;

end;

oder so irgendwie, ich schreibe in letzter zeit fast nur mehr c++ und habe etwas probs mit dem pascal syntax

auch aber noch besser ist wenn du ein prog mit einem windows machst und dann ewig ueber ShellExecute
das eigene prog ausfuehrst (Application.ExeName).

ACHTUNG das killt jeden windows!

mit etwas phantasie laesst sich da noch mehr boeses anstellen aber denk nur selbst auch etwas nach...

Schaf
24.04.2002, 23:00
mom mom mom ... soweit ich mich erinnern kann, muss es so ähnlich heißen wie
ShellExecute(0,´open´,´rundll32´,´shell32.dll, MouseDisable ´,nil,SW_SHOW);

UND IMMER SCHÖN DARAUF ACHTEN, DASS DER GANZE KRAM CASE-SENSITVE IST!!! weil sonst kann man sich den funktionsaufruf sonstwohin schieben ;)