Zwischenfenster

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Thomas
Beiträge: 893
Registriert: 06.07.2006 19:24
Wohnort: Regensburg
Kontaktdaten:

Beitrag 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? :|
v6.00
Benutzeravatar
Thomas
Beiträge: 893
Registriert: 06.07.2006 19:24
Wohnort: Regensburg
Kontaktdaten:

Beitrag von Thomas »

Ich komm mir langsam richtig blöd vor! :(

Nicht mal den Code probiert ihr aus und schreibt was passiert!
v6.00
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Der Code benutzt eine UserLib, die gibts für PB3.30 nicht.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag 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
a²+b²=mc²
Benutzeravatar
Karl
Beiträge: 520
Registriert: 21.07.2005 13:57
Wohnort: zu Hause

Beitrag 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
The Kopyright Liberation Front also known as the justified ancients of Mumu!
PB 5.X
Benutzeravatar
Thomas
Beiträge: 893
Registriert: 06.07.2006 19:24
Wohnort: Regensburg
Kontaktdaten:

Beitrag 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.)
v6.00
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag 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:

Code: Alles auswählen

FindWindow_(0, "Text der Titelzeile des Programms")
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.
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag 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
a²+b²=mc²
Antworten