Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 23:03

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Programm schließen verhindern

Discussion on Programm schließen verhindern within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
°Incinerate's Avatar
 
elite*gold: 400
Join Date: Jun 2011
Posts: 513
Received Thanks: 101
Programm schließen verhindern

Hallihallo,
ich habe folgenden Problem:

Ich möchte das mein Programm von einem externen Programmen nicht geschlossen werden kann. z.B.:

Script1 soll "geschützt" sein.
Script2 soll Script1 schließen. Aber da Script1 "geschützt" ist, soll es nicht geschlossen werden.

Gibt es da einen expliziten Befehl oder wie stelle ich das an?

MfG
°Incinerate is offline  
Old 10/03/2013, 17:37   #2
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Schnell gegooglet und gefundne:
Code:
Func _ProcessHide($PID)
        DllCall("HideProcessNT.dll","long","HideNtProcess","dword",$PID)
EndFunc

_ProcessHide(@AutoItPID)
Bin mir nicht sicher obs klappt, musst du ausprobieren.
alpines is offline  
Old 10/03/2013, 18:14   #3
 
°Incinerate's Avatar
 
elite*gold: 400
Join Date: Jun 2011
Posts: 513
Received Thanks: 101
Das ist leider nicht das was ich suche...

... bestes Beispiel ist Avast. Geht man in den TaskManager und will der AvastProzess beenden wird der zugriff verweigert. Auch wenn ich über AutiIt den Prozess beenden will, bleibt Avast einfach offen.
°Incinerate is offline  
Old 10/04/2013, 16:24   #4
 
FacePalmMan's Avatar
 
elite*gold: 0
Join Date: Jan 2013
Posts: 426
Received Thanks: 129
benutz ein zweiten prozess (welchen du am besten mit der oben gezeigten dll versteckst) welcher immer abfragt ob der andere prozess zu ist.
beispiel:
Programm 1:
Code:
Adlibregister("Programm2sicherung",20)

Dein code hier

Func Programm2sicherung()
If Processexists("Programm2.exe")=0 then run("Programm2.exe","Pfad zum programm")
EndFunc
Programm 2:
Code:
#NoTrayIcon
While 1
If Processexists("Programm.exe")=0 then run("Programm.exe","Pfad zum programm")
WEnd
FacePalmMan is offline  
Old 10/04/2013, 16:26   #5
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Das Problem ist aber, wenn man den Prozess suspended (pausiert und nicht beendet) dann merkt der andere Prozess das nicht, Suspenden kann man umgehen in dem man ständig Daten in eine Datei schreibt, z.B. eine Textdatei wo immer die Sekunden reingeschrieben werden, wenn der eine Prozess suspended wird, dann sieht das der andere, das nicht mehr in die Datei geschrieben wird und kann den suspendeten Prozess neustarten.

Aber wenn man diese Methode nimmt, dann muss man ständig Backups machen wo man die Arbeit wiederaufnehmen kann. Also so, das wenn das Programm geschlossen wird eine Weiterarbeit erfolgreich ist und nicht von Anfang an wieder beginnen muss.
alpines is offline  
Old 10/04/2013, 17:32   #6
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
Man kann den Zustand (Aktiv, Inaktiv) jedes Prozesses ohne Umwege überprüfen. Eine Datei mit Daten vollzumüllen ist nicht nötig.
Der 2. Parameter der Run() Funktion gibt übrigens NICHT den Dateipfad an. Richtig währe:
Code:
Run("P:\fad\zum\programm\Programm2.exe")
KDeluxe is offline  
Old 10/04/2013, 17:33   #7
 
FacePalmMan's Avatar
 
elite*gold: 0
Join Date: Jan 2013
Posts: 426
Received Thanks: 129
wie wärs mit einer zusätzlichen tcp-sicherung? also im sinne von: antwortet der andere nicht, dann versuche ich ihn zu resumen. klappt das auch nicht, dann starte ich ihn neu.
FacePalmMan is offline  
Old 10/04/2013, 18:05   #8
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Quote:
Originally Posted by KDeluxe View Post
Man kann den Zustand (Aktiv, Inaktiv) jedes Prozesses ohne Umwege überprüfen. Eine Datei mit Daten vollzumüllen ist nicht nötig.
Der 2. Parameter der Run() Funktion gibt übrigens NICHT den Dateipfad an. Richtig währe:
Code:
Run("P:\fad\zum\programm\Programm2.exe")
Richtig wäre wäre und nicht währe.
Das ist keine schlechte Idee mit dem TCP Server, aber das Problem ist, das mit den Backups.
Wenn das Programm doch unerwartet geschlossen wird, dann muss das Programm das geschlossen wurde seine Arbeit wiederaufnehmen können, ohne Sachen zu wiederholen.
alpines is offline  
Old 10/04/2013, 22:19   #9
 
°Incinerate's Avatar
 
elite*gold: 400
Join Date: Jun 2011
Posts: 513
Received Thanks: 101
Quote:
Originally Posted by FacePalmMan View Post
benutz ein zweiten prozess (welchen du am besten mit der oben gezeigten dll versteckst) welcher immer abfragt ob der andere prozess zu ist.
beispiel:
Programm 1:
Programm 2:

Da gibts leider ein Problem ...

Programm 1:

Programm 2:

Code:
ProcessClose("test1.exe")
ProcessClose("test2.exe")
°Incinerate is offline  
Old 10/04/2013, 22:47   #10
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Das ist doch falsch, wenn test1 beendet wird, dann reagiert test2 sofort und startet test1 neu!
Du könntest nur beide Beenden indem du test1 suspendest und dann test2 schließt und anschließend test1.
alpines is offline  
Old 10/05/2013, 00:34   #11
 
°Incinerate's Avatar
 
elite*gold: 400
Join Date: Jun 2011
Posts: 513
Received Thanks: 101
Ich hab das vorhin getestet ...
°Incinerate is offline  
Old 10/05/2013, 08:42   #12
 
FacePalmMan's Avatar
 
elite*gold: 0
Join Date: Jan 2013
Posts: 426
Received Thanks: 129
ersetz einfach beim adlibregister die 20 durch eine 1. dann ist alles besser.
wenn du dazu noch den zweiten prozess mit der vorhin genannten dll unsichtbar machst, dann ist dein programm sehr viel schwerer zu schließen (ein AutoItOnExitRegister würde vielleicht noch zusätzlichen "schutz" bieten)
FacePalmMan is offline  
Old 10/05/2013, 12:50   #13
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Das zieht aber an der Performance des Rechners jede Millisekunde danach zu prüfen ob der Prozess noch aktiv ist, die Methode ist recht unzuverlässig.
alpines is offline  
Old 10/05/2013, 13:14   #14
 
°Incinerate's Avatar
 
elite*gold: 400
Join Date: Jun 2011
Posts: 513
Received Thanks: 101
Quote:
Originally Posted by FacePalmMan View Post
ersetz einfach beim adlibregister die 20 durch eine 1. dann ist alles besser. [...]
Funktioniert auch mit 1 Ms auch nicht. :/

€: Wie macht Avast das eigentlich...?
°Incinerate is offline  
Old 10/05/2013, 13:25   #15
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Du könntest deinen Prozess auch als Dienst eintragen (Services.au3) dann ist das schonmal schwerer so etwas beendet zu bekommen.
alpines is offline  
Reply


Similar Threads Similar Threads
Programm reagiert nicht (will aber nicht über Taskmanager schließen)
03/16/2013 - Technical Support - 1 Replies
Moin Leute, Ich habe ein großes Problem ich habe ein Lied bei Fl Studio erstellt und wollte es rendern, weil es eben halt fertig ist. Jetzt bleibt er einfach hängen und kann nichts anderes machen außer den Prozess im Taskmanager schließen. Ich will es aber nicht weil sonst die ganze arbeit umsonst wäre. Was kann ich tun?
Programm schließen/close the program
08/09/2011 - Rappelz - 5 Replies
null
Endgültiger PBC-Fix: Meldung "Programm schließen" deaktivieren!
11/28/2010 - Diablo 2 - 3 Replies
Hat sich erledigt.
Schließen von Fullscreen bei Youtube usw verhindern
04/09/2008 - Main - 6 Replies
Hey, Ich habe folgendes Problem und wollte fragen, ob jemand von euch weiß, wie man das lösen könnte: Hab 2 Bildschirme am PC und wenn ich auf einem der beiden Bildschirme zB ein Youtube Video auf Fullscreen mach und dann auf dem anderen Bildschirm irgendwo klicke, geht das Video wieder aus dem Fullscreen-Modus raus :( Hoffe ich konnte es verständlich ausdrücken ;) Ich suche halt nach einer Methode, dass das Fullscreen bleibt während ich aufm anderen Bildschirm was mache.. Liebe...
tool/firewall um Upload von Programm zu verhindern
12/04/2006 - Main - 6 Replies
Hi!!! Wie der Titel bereits sagt, bin ich auf der suche nach einem tool, dass den Upload eines X-Beliebigen Programmes blockt, aber den download zulässt... gibts sowas?? Währ prima wenn einer da ne ahnung hat :) Gruß, |^3!j!|\|



All times are GMT +1. The time now is 23:04.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.