scanner
Goto Top

Programm 2 mal öffnen verhindern ?

Hallo zusammen,
kann mir jemand sagen wie ich das 2 malige Öffnen eines Programms
(habe auf den Programmcode keinen Zugriff) verhindern kann ?

Oder anders gefragt, wie kann ich verhindern das eine bestimmte exe 2 mal (gleichzeitig)
ausgeführt wird ?

Hatte da mal so an GPO gedacht, aber hab bei google irgendwie nix gefunden.
Oder habe ich nur falsch gesucht ?

Umgebung Windows Server 2003 und XP mit SP2


Dank euch schon mal im Voraus.

Content-Key: 182605

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

Printed on: April 18, 2024 at 09:04 o'clock

Member: nikoatit
nikoatit Mar 26, 2012 at 13:12:20 (UTC)
Goto Top
Moin,

wüsste jetzt nicht, dass man das per GPO oder ähnlich abfangen kann...
Aber es wäre interessant bei welchen Programm das bei dir passiert?
Im allgemeinen fangen Entwickler dieses "Missgeschick" ab, wenn es nicht ein Feature darstellt.
Ein Programm mit Datenbank knallt dir dann eine Fehlermeldung vor den Monitor, dass die DB zur Zeit verwendet wird und sogar ein Office fragt dich ob du das Dokument noch mal öffnen willst...
Also um welches Programm geht es dir denn konkret?

Gruß
Member: Scanner
Scanner Mar 26, 2012 at 13:28:00 (UTC)
Goto Top
Ja das ist Richtig, normalerweise wird da so gemacht. face-wink
Aber die Programmierer die es gemacht haben hatten entweder nicht die Erfahrung,
oder haben es nicht gemacht weil es nicht in der Leistungsbeschreibung gestanden hat. face-sad
Grr was einem so ein blödes nicht gesetztes Häkchen einbrocken kann. face-sad

Das Programm ist ein extra für ein bestimmte Sache geschriebenes Programm.
Also kein Office oder irgend ein Standart Programm.

Ich muss die Sache definitiv von außerhalb des Programms Lösen.
Da eine Änderung des Codes nicht möglich bzw. zu Aufwendig und zu Teuer ist.
Member: Skyemugen
Skyemugen Mar 26, 2012 at 13:42:26 (UTC)
Goto Top
Aloha,

wie wird denn das Programm aufgerufen?

Doppelklick auf .exe? Dann brützel alle Verknüpfungen weg und hau z.B. 'ne .bat dafür aktiv, die überprüft ob ein Task mit dem Namen soundso bereits existiert.

greetz André
Member: Hubert.N
Hubert.N Mar 26, 2012 at 14:46:44 (UTC)
Goto Top
Moin

Das wäre dann auch meine Idee

qprocess <meineAnwendung.exe>
if not %errorlevel% == 0 <meineAnwendung.exe>

Gruß
Member: Skyemugen
Solution Skyemugen Mar 26, 2012, updated at Mar 03, 2014 at 09:06:03 (UTC)
Goto Top
Aloha,

ich dachte eher an
tasklist|findstr /C:"Prozess.exe">nul && goto :eof || start Prozess.exe  

greetz André
Member: Hubert.N
Hubert.N Mar 26, 2012 at 16:33:46 (UTC)
Goto Top
Viele Wege führen bekanntlich nach Rom...

Deiner allerdings nur wenn man daraus ein
tasklist|findstr /C:"Prozess.exe">nul && goto :eof | start Prozess.exe  
macht face-smile

Gruß
Member: Skyemugen
Skyemugen Mar 26, 2012 at 18:02:38 (UTC)
Goto Top
Aloha,


greetz André
Member: Hubert.N
Hubert.N Mar 26, 2012 at 18:50:46 (UTC)
Goto Top
eventuell mal das nächste Mal voher testen, bevor man korrigieren möchte

selbstverständlich hatte ich das getan face-smile


wenn ich tasklist|findstr /C:"sdfsdfsfs">nul && goto :eof | start notepad.exe in meinem Windows 7 eingebe, dann startet das Notepad
wenn ich tasklist|findstr /C:"svchost.exe">nul && goto :eof | start notepad.exe im meinem Windows 7 eingebe, dann startet das Notepad nicht

Aber ich will hier keine Grundsatzdiskussion führen face-smile

Schönen Abend noch
Member: Skyemugen
Skyemugen Mar 26, 2012 at 19:20:35 (UTC)
Goto Top
Aloha,

kann ich nicht nachvollziehen, siehe POC-Screenshot
http://s7.directupload.net/images/120326/2zb8xuua.jpg

hier noch einmal die Klarausgabe des SS
C:\Users\Melphiz>tasklist|findstr /C:"Prozess.exe">nul && echo goto :eof | echo
start Prozess.exe

C:\Users\Melphiz>tasklist|findstr /C:"Prozess.exe">nul && echo goto :eof || echo
 start Prozess.exe
start Prozess.exe

C:\Users\Melphiz>tasklist|findstr /C:"firefox.exe">nul && echo goto :eof | echo
start Prozess.exe
start Prozess.exe

C:\Users\Melphiz>tasklist|findstr /C:"firefox.exe">nul && echo goto :eof || echo
 start Prozess.exe
goto :eof

C:\Users\Melphiz>

Windows 7 x64 HP

Zitat von @Hubert.N:
will hier keine Grundsatzdiskussion führen face-smile
Du vielleicht nicht, ich steh' nicht darauf, offene Bücher wegzupacken.

Bei WIndows XP x86 Prof. verhält sich es genauso ...
Member: Hubert.N
Hubert.N Mar 27, 2012 at 15:47:29 (UTC)
Goto Top
ich scheine hier ein besondere Version der cmd.exe zu haben face-smile

Heute kopiere ich die Zeilen in das cmd-Fenster rein und es startet das Notepad, wo es eigentlich nicht starten sollte.

Allerdings funktioniert dein Befehl (bei mir muss ich wohl sagen) auch nur in der letzten Version mit dem echo hinter dem && face-smile Aber soll ja nichts heißen face-smile
Member: Skyemugen
Skyemugen Mar 28, 2012 at 05:12:59 (UTC)
Goto Top
Aloha ...

was soll goto :eof auch in der cmd ohne echo bewirken? ein exit /B aka goto :eof ist nun einmal kein exit und eigentlich ist die Zeile ja auch für eine Batch gedacht ...

greetz André
Member: Scanner
Scanner Mar 03, 2014 at 09:04:01 (UTC)
Goto Top
Ups vergessen das Teil auf gelöst zu Setzen face-confused
Na egal, vielen Dank noch mal für eure vielen Comments face-smile Hat mir sehr geholfen.

Habe es wie folgt gelöst.

Habe eine Script mit folgenden Inhalt in eine Exe umgewandelt und dies dann anstatt der Original Exe gelinkt face-wink

::Suchen ob Prozess laeuft.
@echo off & setlocal
set "Tsk=Prozess.exe"
set Running=
for /f %%i in ('tasklist') do echo (%%i)|findstr /C:"(%Tsk%)" >nul && set Running=True
if not defined Running goto :NoProzessrunning
::Wenn Prozess laeuft nichts machen
exit


:NoProzessrunning
start prozess.exe
exit


Dank euch noch mal, war ein Schubs in die richtige Richtung face-smile