Seite 2 von 3
Verfasst: 20.09.2006 14:03
von ts-soft
Thomas Obermeier hat geschrieben:Ich frag einfach mal anders, weil ich denke ihr versteht das ein bisschen anders als ich...
Ich möchte einfach abfragen können ob ein programm geöffnet wird!
Einfache Abfrage nicht möglich! Windows macht dies selbstständig,
ohne Dich vorher zu Informieren, also ist aufwendiges Hooken erforderlich,
was auch Rechte erfordert, Systemresourcen verbraucht und nicht so einfach
umzusetzen ist.
Thomas Obermeier hat geschrieben:
Und was ich noch wissen möchte: wie kann ich das eine Programm wieder schließen?
siehe hier, letzter Beitrag von mir:
http://www.purebasic.fr/german/viewtopi ... 0&start=10
Verfasst: 21.09.2006 15:46
von Thomas
bobobo hat geschrieben:Code: Alles auswählen
Repeat
ExamineProcesses()
While NextProcess()
name.s= GetProcessName()
If FindString(name,"PureBasic",0)
MessageRequester("ABER ABER","MACH LIEBER DEINE HAUSAUFGABEN",0)
EndIf
Wend
Delay(1000)
ForEver
Das hat Bobobo bei fast der gleichen Frage geschrieben. Kann das mal jemand ausprobieren und sehen was passiert?
Und wenn es die antwort auf meine Frage ist, hat dann vielleicht jemand ne Idee wie man sowas in PB 3.3 machen kann?

Verfasst: 21.09.2006 21:02
von Thomas
Ich komm mir langsam richtig blöd vor!
Nicht mal den Code probiert ihr aus und schreibt was passiert!
Verfasst: 21.09.2006 21:12
von ts-soft
Der Code benutzt eine UserLib, die gibts für PB3.30 nicht.
Verfasst: 21.09.2006 21:12
von Kiffi
> Nicht mal den Code probiert ihr aus
das ist nicht nötig, denn der Code nützt Dir nix.
Hier wird die Liste der bereits gestarteten Programme durchforstet.
Du hingegen möchtest das Starten eines Programmes u.U. verhindern.
Jetzt mal ehrlich, Thomas, ich kann ja Deinen Tatendrang verstehen. Aber
Du möchtest da ein kleines Programm schreiben, welches schwierig zu
realisieren ist (erst recht für jemanden, der vor kurzem noch nicht wusste,
was APIs sind). Wenn Kaeru Dir rät, kleine Brötchen zu backen, dann ist das
ein gut gemeinter Tipp, der verhindern soll, dass Du Dir zu früh zu grosse
Bürden auflastest, die Du nicht stemmen kannst und Dir vielleicht aus diesem
Grund eines Tages die Lust am Programmieren vergeht.
Grüße ... Kiffi
Verfasst: 22.09.2006 10:34
von Karl
Dazu bräuchte man wohl Zugang in den tiefsten Keller des Betriebssystems. Klingt nach einer Manipulation des Schedulers.
Heiß - das könnte man wohl nur, wenn man auch ein BS programmieren kann. Ach ja, so ´n Ding gab es doch schon mal - Master Control Program?
Gruß Karl
Verfasst: 22.09.2006 13:45
von Thomas
Nein, so mein ich das nicht!
Ich möchte nur abfragen ob irgend eine Anwendung gestartet wird (z.B. Paint, Microsoft Office, PureBasic-Editor, usw.)
Verfasst: 22.09.2006 13:50
von ts-soft
Thomas Obermeier hat geschrieben:
Ich möchte nur abfragen ob irgend eine Anwendung gestartet wird (z.B. Paint, Microsoft Office, PureBasic-Editor, usw.)
Das kann man aber nicht einfach so, glaub es doch endlich. Feststellen, wenn
die Programme bereits gestartet sind, das geht.
Verfasst: 22.09.2006 13:59
von PBZecke
>Das kann man aber nicht einfach so, glaub es doch endlich. Feststellen,
>wenn die Programme bereits gestartet sind, das geht.
Zum Beispiel so, ganz banal und für Deine Zwecke ausreichend:
Gibt eine Zahl ungleich 0 zurück, wenn das Programm bzw. Fenster das
diesen Titel hat, auf dem Bildschirm sichtbar ist. Diese Zahl ist das
WindowHandle. Damit hat das Fenster eine eindeutige Nummer mit der Du
das Programm bzw. Fenster auch schließen kannst.
Verfasst: 22.09.2006 14:06
von Kiffi
> Zum Beispiel so, ganz banal und für Deine Zwecke ausreichend:
eben nicht. Dann ist das Programm ja schon gestartet.
Setz dem Jungen keine Flausen in den Kopf!
Grüße ... Kiffi