| |
|
|
| allô Profaner...
Vorab un (entier, entier) kleiner perspective puis, quoi bientôt avec qui DACL_SET.INC possible son wird .
aucun Angst, ist rien Gefährliches - peut-être (sur jeden le cas!) aussi la fois den Taskmanager benutzen?
Kommentar ist erwünscht, s'il te plaît mais avec Betriebssystemangabe!
devoir: sous NT/2000/XP Programme ausschalten sans sich abzumelden (ist lösbar, voulais es pas trop schwierig faire ) ou bien den Button trop drücken. suis gespannt...
Beste Grüße
AH |
|
|
| |
|
|
|
| PS: cela Programme ändert aucun Systemeinstellungen - seulement qui des aktuellen Prozesses!
(viel Amusement)... |
|
|
| |
|
|
|
| Würde es oui volontiers testen - mais quoi soll je testen? |
|
|
| |
|
|
|
Rolf Koch | @IF simple Taskmanager aufmachen et versuchen (sans den Button trop klicken dans qui Anwendung) cet Anwendung trop killen. après la fois den Button klicken et ensuite killen.
@Andreas Einwandfrei sous WinXP Pro
Rolf |
|
|
| |
|
|
|
| seulement si es sich ausschalten läßt, égal comment (seulement Herunterfahren et Annuler ist pas erlaubt). sous Windows2000 vois je là im Augenblick encore 2 Opportunités - gibt es encore plus? Funktioniert es sous XP überhaupt??? PS: Button Drücken seulement im Notfall! |
|
|
| |
|
|
|
| eh bien - es peut sich chez mir völlig problemlos comment chacun Anwendung avec dem Taskmanager terminieren. (WinXPHome)
Salve, iF. |
|
|
| |
|
|
|
Rolf Koch | Hi Andreas, ou bien était je trop voreilig? Anwendung finissons wird chez pas erlaubt hervorragend interdit. Prozess finissons killt Votre Anwendung trotz pas erlaubt
Rolf |
|
|
| |
|
|
|
| OK, là fonctionne alors quelque chose anders comme sous Windows2000 - je werde la fois versuchen, cela Handle anders trop ermitteln... S'inscrire mich wieder! |
|
|
| |
|
|
|
| So, maintenant doit je seulement la fois quoi expliquer: j'ai ici dem aktuellen Prozess cela droite PROCESS_TERMINATE geklaut, et cela pour jeden User (sauf SYSTEM).
égal comment viele Rechte on klaut, derjenige qui qui propriétaire eines Objektes ist (ici un Prozess) behält toujours qui Rechte zum Listen et Changement qui Zugriffsgerechtigungen (READ_CONTROL et WRITE_DAC). sous Windows2000 utilise qui Taskmanager cet dem propriétaire verbleibenden Rechte pas, à Zugriffsrechte wieder so trop changement, qui un Prozess finissez volonté peux - il est ensuite quasi pour cette Prozess abgeschaltet (c'est pourquoi cet Smily - là hatte MS quoi oublier qc).
sous XP scheint cet Unzulänglichkeit behoben trop son - cela est, qui Taskmanager verschafft sich scheinbar auparavant wieder plus Rechte.
Versucht einmal, cela Programme mittels des Kommandozeilenbefehls AT comme Service im Account System trop starten, ensuite dürftet son voyons, quoi je mon . |
|
|
| |
|
|
|
| Nochmals une s'il te plaît: Versucht la fois, cela Programme sur cette Code trop starten et wieder trop finissons. quoi passiert ensuite? KompilierenMarqueSéparationDef @CreateProcess(10) !"KERNEL32","CreateProcessA"
Def @GetExitCodeProcess(2) !"KERNEL32","GetExitCodeProcess"
Def @TerminateProcess(2) !"KERNEL32","TerminateProcess"
Declare Command#,StartupInfo#,ProcessInfo#,ExitCode#
Proc CreateProcess
Parameters command$
Declare handle&
Dim Command#,Add(Len(command$),1)
Dim StartupInfo#,68
Clear startupinfo#
Long StartupInfo#,0=68
Dim ProcessInfo#,16
Clear ProcessInfo#
String Command#,0=command$
@CreateProcess(0,Command#,0,0,0,0,0,0,StartupInfo#,ProcessInfo#)
Let handle&=Long(ProcessInfo#,0)
Dispose Command#
Dispose StartupInfo#
Dispose ProcessInfo#
Return handle&
EndProc
Proc KillProcess
Parameters hprocess&
Dim exitcode#,4
@GetExitCodeProcess(hprocess&,exitcode#)
@TerminateProcess(hprocess&,@Long(exitcode#,0))
Dispose exitcode#
EndProc
Declare Terminate&,Start&,Programm$
Windowstyle 31
WindowTitle "Process starten und killen"
Window 0,0-640,440
Let Start&=@CreateButton(%HWND,"Start",20,300,100,30)
Let Terminate&=@CreateButton(%HWND,"Terminate",200,300,100,30)
Enablewindow Terminate&,0
Enablewindow Start&,1
While 0=0
Waitinput
IF @Getfocus(Terminate&)
KillProcess @&(0)
Enablewindow Terminate&,0
Enablewindow Start&,1
ElseIF @Getfocus(Start&)
Let Programm$=@Loadfile$("Eine Anwendung auswählen:","Programme|*.EXE;*.COM;*.PIF;*.BAT")
IF Programm$<>""
CreateProcess Programm$,""
Enablewindow Terminate&,1
Enablewindow Start&,0
endif
Endif
< s=s4 href='./../../function-references/XProfan/Wend/'>Wend
|
|
|
| |
|
|
|
| Duplicate Identifier Createprocess - Schonmal mal. [hr:5a5b330929]mais aussi so peut sich cela Prog sur den Button ou bien den TM einfachst terminieren.
Salve, iF.[hr:5a5b330929]PS: Ists richtig le moi alle Votre Programme avec Profan²4 teste? |
|
|
| |
|
|
|
| [quote-part:bc1c8f568c=iF]Duplicate Identifier Createprocess - Schonmal mal. [hr:bc1c8f568c]mais aussi so peut sich cela Prog sur den Button ou bien den TM einfachst terminieren. [/quote-part:bc1c8f568c] Au on, suis je blöd . qui SID ist avec diesem Handle oui encore default - peux alors gar pas aller - cela Handle hole je mir oui avant dem Changement des SIDs. Ist mir gestern juste pour dem Poste aufgefallen . j'ai la fois une neue Version hochgeladen et cette Voir le texte source pourrait pour XP aussi aller: KompilierenMarqueSéparationDef @GetExitCodeProcess(2) !"KERNEL32","GetExitCodeProcess"
Def @TerminateProcess(2) !"KERNEL32","TerminateProcess"
DEF @GetWindowThreadProcessId(2) !"USER32","GetWindowThreadProcessId"
DEF @OpenProcess(3) !"KERNEL32","OpenProcess"
DEF @CloseHandle(1) !"KERNEL32","CloseHandle"
DEF @GetLastError(0) !"KERNEL32","GetLastError"
DEF @FormatMessage(7) !"KERNEL32","FormatMessageA"
Declare ExitCode#,PROCESS_ID&,Fenster&,PHandle&
Declare Terminate&,Fensterk_killen&,Programm$,Active&
Declare AHRückgabe&,AHGETERROR_Buffer#,AHGETERROR_Buffer$
Declare Fehler&
Proc KillProcess
Parameters hprocess&
Dim exitcode#,4
LET Fehler&=@GetExitCodeProcess(hprocess&,exitcode#)
Let Fehler&=@TerminateProcess(hprocess&,@Long(exitcode#,0))
IF Fehler&<>1
LET AHRückgabe&=@GetLastError()
DIM AHGETERROR_Buffer#,32000
@FormatMessage($1000,0,AHRückgabe&,0,AHGETERROR_Buffer#,32000,0) Wandelt Fehlercode in Landesspezifische Message um.
Let AHGETERROR_Buffer$=AHGETERROR_Buffer$+@STRING$(AHGETERROR_Buffer#,0)
Dispose AHGETERROR_Buffer#
@messagebox(AHGETERROR_Buffer$,"Fehlermeldung",16)
endif
Dispose exitcode#
EndProc
Windowstyle 31
WindowTitle "Process starten und killen"
Window 0,0-640,440
Let Fensterk_killen&=@CreateButton(%HWND,"Fenster killen",20,300,150,30)
Let Terminate&=@CreateButton(%HWND,"Prozess killen",300,300,150,30)
While 0=0
Waitinput
IF @Getfocus(Terminate&)
Clearlist
AddWindows ""
LET Programm$=@Listbox$("Fenster wählen",3)
IF Programm$<>""
Let Fenster&=@Findwindow(Programm$)
@GetWindowThreadProcessId(Fenster&,@ADDR(PROCESS_ID&))
LET PHandle&=@OpenProcess($401,0,PROCESS_ID&)
IF Fehler&=0
LET AHRückgabe&=@GetLastError()
DIM AHGETERROR_Buffer#,32000
@FormatMessage($1000,0,AHRückgabe&,0,AHGETERROR_Buffer#,32000,0) Wandelt Fehlercode in Landesspezifische Message um.
Let AHGETERROR_Buffer$=@STRING$(AHGETERROR_Buffer#,0)
Dispose AHGETERROR_Buffer#
endif
KillProcess PHandle&
@CloseHandle(PHandle&)
Endif
ElseIF @Getfocus(Fensterk_killen&)
Clearlist
AddWindows ""
LET Programm$=@Listbox$("Fenster wählen",3)
IF Programm$<>""
@Sendmessage(@Findwindow(Programm$),$10,0,0)
Endif
Wend
s'il te plaît aussi la fois versuchen, cela Prog avec AT comme Service trop starten et es ensuite sur den Taskmanager auszuschalten.
[quote-part:bc1c8f568c=iF] Salve, iF.[hr:bc1c8f568c]PS: Ists richtig le moi alle Votre Programme avec Profan²4 teste? [/quote-part:bc1c8f568c] eh bien, 7.5 wurde reichen . 4.5 habe je ici aussi encore courir - si du en supplément Voir le texte source besoin, schreibe je dir volontiers quoi . |
|
|
| |
|
|