Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
588to592
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
588to592
588to592
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

prüfen ob anderes Programm schon offen

prüfen ob anderes Programm schon offen
22.03.2005 20:30:00
Johannes
Hallo Spezialisten,
ich habe folgendes Problem: Mit der Zeile öffne ich den Barcodegenerator aus dem Ablauf heraus - funktioniert auch.
Shell "D:\Barcode\BARCODE.exe"
Nun soll aber nicht in jeder Schleife das Programm erneut geöffnet werden und ich suche nach der Syntax in einer if - then - else Abfrage um zu prüfen ob das Programm schon offen ist.
if [programm schon offen]
then [weiterer Ablauf ...]
else [Programm öffnen s.o.]
[weiterer Ablauf ...]
Könnte mir bitte jemand auf die Sprünge helfen.
Vielen lieben Dank schon mal für Eure Mühe
Johannes

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: prüfen ob anderes Programm schon offen
22.03.2005 20:47:01
Nepumuk
Hallo Johannes,
erzeugt das Programm ein sichtbares Fenster oder ein Icon in der Taskleiste, sobald es gestartet wird? Wenn du dir nicht sicher bist, starte das Programm und schau mal im Taskmanager unter Anwendungen. Ist da ein Eintrag, der das Programm repräsentiert? Wenn ja, was steht da unter "Task"?
Gruß
Nepumuk
AW: prüfen ob anderes Programm schon offen
22.03.2005 20:56:47
Johannes
Hallo Nepumuk,
Taskmanager:
Task..........................Status
[Icon]Barcode..........Wird ausgeführt
Das Programm ist in der Taskleiste als Button sichtbar.
Gruß
Johannes
AW: prüfen ob anderes Programm schon offen
22.03.2005 20:58:47
K.Rola
Hallo Nepumuk,
wie wärs damit:
Option Explicit
Sub teste()
Dim objWMI As Object, colPro As Object
Set objWMI = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & "." & "\root\cimv2")
Set colPro = objWMI.ExecQuery _
("Select * from Win32_Process Where Name = 'Excel.exe'")
If colPro.Count = 0 Then
MsgBox "Excel.exe ist nicht am werkeln!"
Else
MsgBox "Excel.exe ist stark beschäftigt!"
End If
End Sub

Gruß K.Rola

Der Fleiß ist die Wurzel aller Häßlichkeit.

Oscar Wilde


Anzeige
AW: prüfen ob anderes Programm schon offen
22.03.2005 21:02:25
chris
Hallo K.Rola ,
mit diesem Code hast du auch mich neugierig gemacht..
Würdest du mir dasd ganze auch etwas genauer ewrklären ?
Also wie ich es anwende ist klar aber wie oder was der code macht.
Und evtl. auch wie mann auf sowas kommt ?
Danke schon mal grüße Christian
AW: prüfen ob anderes Programm schon offen
22.03.2005 21:09:46
K.Rola
Hallo,
das ist WMI Query Language, angelehnt an SQL aber halt nicht ganz genauso.
Wenn du dich dafür interessierst, kannst du bei Microsoft diverse WMI-Tools
downloaden. Mit einigen Worten kann man das nicht erklären, dafür ist das
zu mächtig.
Gruß K.Rola
AW: prüfen ob anderes Programm schon offen
22.03.2005 21:15:05
chris b
Ohh Danke dir Kola,
dann lass ich lieber die finger davon. :)
Weil Microsoft downloaden und so ist english und dessen bin ich noch nicht so sehr mächtig.
Ich weiß wäre von vorteil bei Programmiersprachen aber so fitt bin ich dann leider doch nicht.
Danke !
Anzeige
Du kannst auch in deutsch downloaden__ot
22.03.2005 21:30:10
K.Rola
k
AW: prüfen ob anderes Programm schon offen
22.03.2005 21:29:32
Nepumuk
Hi K.Rola,
ich benutze das um die ProzessorID auszulesen. Sowohl bei meinem, als auch bei deinem Code stelle ich fest, der schnellste ist der nicht gerade.
Gruß
Nepumuk
AW: prüfen ob anderes Programm schon offen
22.03.2005 21:34:53
K.Rola
Hi Nepumuk,
also über die Geschwindigkeit kann ich nicht meckern, die Anzeige erfolgt quasi
verzögerungslos. Vieleicht solltest du deine Maschine mal von Dampf auf Strom
umstellen :-°)
Gruß K.Rola
Aber sonst geht´s Euch gut?
22.03.2005 23:40:39
Boris
Hi Teuerste,
...schwebt ihr gerade in anderen Sphären? Kommt mir zumindest so vor...(mir ist ganz schwindelig...). :-p
Grüße Boris
AW: Aber sonst geht´s Euch gut?
23.03.2005 01:38:17
K.Rola
Hi Schatz,
bei deinen {} Formel gehts mir ähnlich.
btw: WMI ist nichts für schwache Nerven.
Gruß und Kuss
K.Rola
Anzeige
Herzlichen Dank - klappt prima o.w.T
22.03.2005 21:16:44
Johannes
.
AW: prüfen ob anderes Programm schon offen
22.03.2005 21:18:07
Nepumuk
Liebste K.Rola,
Windows Managemet System, auch keine schlechte Idee. Ich wollte erst über den Fenstertitel, aber den heraus zu bekommen wird mit "VBA - nur mit Recorder" schwierig. Ich denke einfacher geht es so:


Option Explicit
Private Declare Function CreateToolhelp32Snapshot Lib "kernel32.dll" (ByVal dwFlags As LongByVal th32ProcessID As LongAs Long
Private Declare Function Process32First Lib "kernel32.dll" (ByVal hSnapshot As LongByRef lppe As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "kernel32.dll" (ByVal hSnapshot As LongByRef lppe As PROCESSENTRY32) As Long
Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As LongAs Long
Private Enum Costant
    TH32CS_SNAPPROCESS = &H2
    MAX_PATH = 260
End Enum
Private Type PROCESSENTRY32
    dwSize As Long
    cntUsage As Long
    th32ProcessID As Long
    th32DefaultHeapID As Long
    th32ModuleID As Long
    cntThreads As Long
    th32ParentProcessID As Long
    pcPriClassBase As Long
    dwFlags As Long
    szExeFile As String * MAX_PATH
End Type
Public Sub Alle_Prozesse()
    Dim Snap As Long, Process As PROCESSENTRY32, Result As Long
    Snap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
    If Snap <> -1 Then
        Process.dwSize = Len(Process)
        Result = Process32First(Snap, Process)
        Do Until Result = 0
            If InStr(1, UCase$(Process.szExeFile), "BARCODE.EXE") Then
                MsgBox "Läuft !"
                Exit Do
            End If
            Result = Process32Next(Snap, Process)
        Loop
    End If
    CloseHandle Snap
End Sub


Gruß
Nepumuk
Anzeige
AW: prüfen ob anderes Programm schon offen
22.03.2005 21:31:23
Johannes
Hallo Nepumuk,
das mit dem "VBA nur mit Macrorecorder" ist vieleicht ein wenig tiefgestapelt - aber angesichts der wirklich super Ideen die ich hier finde ist mir eine Selbsteinstufung "VBA gut" dann aber doch ein wenig viel - es würde mir eine Zwischeneinstufung eher zustehen - und da es die leider nicht gibt, dann doch lieber ein bischen bescheidener.
Danke vielmals und Gruß
Johannes

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge