Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Windows Programm aktiv?

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Windows Programm aktiv? (1081 mal gelesen)
woppi
Mitglied
cnc-programmierung


Sehen Sie sich das Profil von woppi an!   Senden Sie eine Private Message an woppi  Schreiben Sie einen Gästebucheintrag für woppi

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 08. Jul. 2019 12:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Zwischenablage-1.jpg

 
Hallo,

ich versuche mit Lisp festzustellen ob ein bestimmtes Programm auf den Rechner schon aktiv ist, damit ich es mit Lisp nicht nochmals starte, und dann mehrere Instanzen laufen.
Ich habe hier im Forum einen alten Beitrag gefunden: ww3.cad.de/foren/ubb/Forum145/HTML/003776.shtml#000000
Dort steht der Code:

Code:
(defun Appli?(/ apps item lst meth1 meth2 WMI)
  (setq WMI (vlax-create-object "WbemScripting.SWbemLocator")
        meth1 (vlax-invoke WMI 'ConnectServer nil nil nil nil nil nil nil nil)
        meth2 (vlax-invoke meth1 'ExecQuery "Select * from Win32_Process"))
  (vlax-for item meth2
    (setq lst (append lst (list (vlax-get item 'CommandLine))))
  )
  (vlax-release-object WMI)
  (vlax-release-object meth1)
  (vlax-release-object meth2)
  (vl-remove nil lst)
)

Wenn ich den Code ausgeführt habe, steht unter *LAST-VALUE* im Überwachungsfenster eine Liste mit allen aktiven Programmen: (siehe Bild)
So weit ist das ja super, aber ich weiß nicht wie ich da einen Eintrag suchen kann
Für ein bisschen Hilfe wäre ich sehr dankbar!

So etas wie, wenn der Eintrag "*wop*" vorhanden ist dann ....

Gruß
Ludger

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

VMichl
Mitglied



Sehen Sie sich das Profil von VMichl an!   Senden Sie eine Private Message an VMichl  Schreiben Sie einen Gästebucheintrag für VMichl

Beiträge: 211
Registriert: 04.01.2001

erstellt am: 08. Jul. 2019 13:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für woppi 10 Unities + Antwort hilfreich

versuchen Sie z.B.:

Code:

(setq runningApps (Appli?))
(defun lstmatch (lst pattern)
(or
  (vl-remove-if-not '(lambda (x) (wcmatch x pattern)) lst)
)
)
; now:
(PRINT (lstmatch runningApps "*acax.exe*"))
(PRINT (lstmatch runningApps "*wop*"))

V.Michl, www.cadstudio.cz - www.cadforum.cz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADwiesel
Moderator
CAD4FM UG




Sehen Sie sich das Profil von CADwiesel an!   Senden Sie eine Private Message an CADwiesel  Schreiben Sie einen Gästebucheintrag für CADwiesel

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 08. Jul. 2019 13:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für woppi 10 Unities + Antwort hilfreich

(if
(setq revliste(vl-remove nil
(mapcar '(lambda(x)
        (if(wcmatch x "*mipr*")
          x
          )
          )
            (appli?)
)))
(prin1 revliste)
(princ "\nNix dabei")
)

------------------
Gruß
CADwiesel
Besucht uns im CHAT

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

woppi
Mitglied
cnc-programmierung


Sehen Sie sich das Profil von woppi an!   Senden Sie eine Private Message an woppi  Schreiben Sie einen Gästebucheintrag für woppi

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 08. Jul. 2019 14:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für die schnelle Antwort, klappt wunderbar.
Mit meinem Wissen über Lisp hätte ich das nicht hinbekommen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

woppi
Mitglied
cnc-programmierung


Sehen Sie sich das Profil von woppi an!   Senden Sie eine Private Message an woppi  Schreiben Sie einen Gästebucheintrag für woppi

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 08. Jul. 2019 14:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo VMichl dir auch vielen Dank,
ich nehme an das funktioniert auch, aber irgenwie habe ich das nicht in meinen Code eingebaut bekommen.
Da habe ich die Lösung von CadWiesel  genommen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

VMichl
Mitglied



Sehen Sie sich das Profil von VMichl an!   Senden Sie eine Private Message an VMichl  Schreiben Sie einen Gästebucheintrag für VMichl

Beiträge: 211
Registriert: 04.01.2001

erstellt am: 08. Jul. 2019 15:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für woppi 10 Unities + Antwort hilfreich

woppi
Mitglied
cnc-programmierung


Sehen Sie sich das Profil von woppi an!   Senden Sie eine Private Message an woppi  Schreiben Sie einen Gästebucheintrag für woppi

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 08. Jul. 2019 15:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für den Tipp (Groß & Kleinschreibung)
Ist mir beim Testen dann auch aufgefallen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Peter2
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von Peter2 an!   Senden Sie eine Private Message an Peter2  Schreiben Sie einen Gästebucheintrag für Peter2

Beiträge: 3701
Registriert: 15.10.2003

Win 10/64 Pro
AutoCAD MAP 3D 2018
BricsCAD 22

erstellt am: 08. Jul. 2019 15:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für woppi 10 Unities + Antwort hilfreich

oder aus DosLib:

Zitat:
dos_processes
Returns a list of processes, or tasks, running on the system.

--------------------------------------------------------------------------------

Syntax
(dos_processes [T])

Parameters
T

If specified, a fully qualified path to the running process is returned. Otherwise, just the filename is returned.

Returns
A list of running processes if successful.

nil on error.

Example
Command: (dos_processes)

("smss.exe" "csrss.exe" "winlogon.exe" "services.exe" "lsass.exe" "Ati2evxx.exe" "svchost.exe" "svchost.exe" "svchost.exe" "S24EvMon.exe" "svchost.exe" "svchost.exe" "ccSetMgr.exe" "SPBBCSvc.exe" "ccEvtMgr.exe" "spoolsv.exe" "DefWatch.exe" "mdm.exe" "RegSrvc.exe" "ZCfgSvc.exe" "Ati2evxx.exe" "svchost.exe" "Rtvscan.exe" "1XConfig.exe" "wdfmgr.exe" "ccApp.exe" "VPTray.exe" "type32.exe" "point32.exe" "ctfmon.exe" "alg.exe" "svchost.exe" "explorer.exe" "devenv.exe" "RoboHTML.exe" "notepad.exe" "mspdbsrv.exe" "hh.exe" "dexplore.exe" "acad.exe" "AdskCleanup.0001" "AdskScSrv.exe" "wmiprvse.exe" "WSCommCntr1.exe")


------------------
Für jedes Problem gibt es eine einfache Lösung.
Die ist aber meistens falsch. ;-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADwiesel
Moderator
CAD4FM UG




Sehen Sie sich das Profil von CADwiesel an!   Senden Sie eine Private Message an CADwiesel  Schreiben Sie einen Gästebucheintrag für CADwiesel

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 09. Jul. 2019 09:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für woppi 10 Unities + Antwort hilfreich

schön Peter das du 'ne Antwort hast. Jetzt brauchen wir nur noch die passende Frage

------------------
Gruß
CADwiesel
Besucht uns im CHAT

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz