44488
Goto Top

Anwendung mit nur einer Instanz öffnen

Hallo,

ich suche ein Tool, das überprüft ob eine Anwendung schon geöffnet ist. Wenn ja und ich die Anwendung nur in der Taskbar übersehen habe, dann soll nicht ein zweites separates Programm davon geöffnet werden. Beispiel: Firefox öffnet mehrere Fenter, Opera nur ein einziges.

Also sowas wie ein "runonce.exe program.link"

Content-ID: 60178

Url: https://administrator.de/contentid/60178

Ausgedruckt am: 22.11.2024 um 15:11 Uhr

36539
36539 30.05.2007 um 17:15:11 Uhr
Goto Top
Hallo himbeergeist,
lies bitte: "Wie man Fragen richtig stellt" Wie Du eine Frage richtig stellst
dann sei so nett und editiere deine Frage so das ein Helfer damit auch was anfangen und eine korrekte Auskunft geben kann.

gruß
Boy1980HH
Boy1980HH 30.05.2007 um 19:52:00 Uhr
Goto Top
Bezüglich des Firefox schau mal auf den bekannte AddOn-Seiten vorbei und such da die "TabMix Plus-Erweiterung. Mittels dieser Erweiterung (gibt aber zig andere/ weitere, die das gleiche lösen) kannst du einstellen, dass Firefox nur 1 Window nutzen soll und die bestehende Instanz wieder in den Vordergrund holt...

Für diverse andere Anwendungen gibt es ebenfalls eine entsprechende Erweiterung bzw. Sie sind von Haus aus schon so konzipiert, dass Sie sich nicht mehrfach starten lassen. Zumindest habe ich derartige Probleme bei keiner, bei mir im Einsatz befindlicher, Software die sich in die Systray minimieren läßt.

Gruss, Maik
44488
44488 31.05.2007 um 14:01:38 Uhr
Goto Top
Firefox war ein schlechtes Beispiel. Wie funktioniert das ganze beispielsweise mit Notepad, Calculator oder Wordpad, die normalerweise für Mehrfensterbetrieb konzipiert sind?
8644
8644 31.05.2007 um 14:13:43 Uhr
Goto Top
Hi,

ich denke mal, dass du da schlechte Karten hast. Wenn eine Anwendung mehrfach gestartet werden kann, liegt das immer am Entwickler. Ich lasse mich aber gerne vom Gegenteil überzeugen face-wink

Psycho
AndreasHoster
AndreasHoster 31.05.2007 um 14:20:15 Uhr
Goto Top
So ein Tool ist mir nicht bekannt, aber mit etwas Windows Scripting Host Programmierung kann man sowas rauskriegen:
'* Verbindung mit WMI (Windows Management Instrumentation) aufnehmen
Set wmi = GetObject("winmgmts:{(Security)}")
'* Alle Notepad Prozesse raussuchen
Set oProc = wmi.ExecQuery("select * from win32_process where name='notepad.exe'")
i=0
For each proc in oProc
i=i+1
Next
if i>0 then
msgbox "Notepad schon gestartet! " & i
else
Set system = GetObject("winmgmts:\\localhost\root\cimv2:win32_process")
system.create "notepad.exe"
end if

Gut, man muß noch das Programm aus den Übergabeparamtern auslesen anstatt fest notepad.exe zu nehmen und funktioniert auch nur bei Programmen, bei denen der Prozess später auch so heißt wie die EXE.
Also Lotus Notes wurde z.B. nicht gehen, weil notes.exe gestartet wird und später nlnotes.exe läuft.
Boy1980HH
Boy1980HH 31.05.2007 um 14:23:31 Uhr
Goto Top
Bei solchen Anwendungen hast/ wirst du schlechte Karten haben entsprechendes zu realisieren... Bei Programme die für den Mehrfachstart ausgelegt sind und keine "Tab-Funktionalität" bieten wäre das sowieso sehr unpraktisch...

Du hast Beispielsweise Wordpad, Notepad geöffnet und bearbeitest ein entsprechendes Dokument, jetzt musst du schnell in einem anderen Dokument etwas nachschauen. Und schon hast du ein Problem, da du das neue Dokument nicht öffnen kannst ohne das andere zu schließen...

Gruss, Maik