MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 25.08.2017, 11:25   #1
lucio_07
MOF User
MOF User
Standard Excel 2013 - Excel 32 Bit, Windows 64 Bit, Processe auslesen

Hallo,
ich komme einfach auf keine Lösung.

Meine Excel Anwendung (32 Bit) checkt im VBA welche Prozesse im Windows laufen.
Kann ich aus einer 32-Bit Anwendung heraus prüfen, welche Prozesse in W7 64 Bit laufen?

Vielen Dank im Voraus,

__________________

Gruß
lucio
lucio_07 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 25.08.2017, 11:48   #2
aloys78
MOF Meister
MOF Meister
Standard

Hallo Lucio,

ich habe Excel 2010 (32 Bit) und W7 (64 Bit) und da funktioniert folgender Code
Excel-Inside

Gruß
Aloys
aloys78 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 25.08.2017, 11:53   #3
lucio_07
Threadstarter Threadstarter
MOF User
MOF User
Standard hab ich auch gedacht

Aloys,
danke für die schnelle Antwort.

Ich bekomme bei immer
Dim oServ As Object
'Set oServ = GetObject("winmgmts:")'

den Error: 'Automatisierungsfehler Ungültige Syntax'.
Nun dachte ich eben, .. wie gesagt ...

Gruß
lucio

__________________

Gruß
lucio
lucio_07 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 25.08.2017, 12:46   #4
lucio_07
Threadstarter Threadstarter
MOF User
MOF User
Standard na gut

Dann scheint das eine andere Ursache zu haben-

Danke.

__________________

Gruß
lucio
lucio_07 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 25.08.2017, 13:18   #5
Fennek11
MOF Profi
MOF Profi
Standard

Hallo,

eine relative einfache Methode, die tasks aufzulisten, geht in Word,

dim Tk as task
for each Tk in Application.Task
debug.print Tk
next Tk
Fennek11 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 25.08.2017, 13:34   #6
Nepumuk
MOF Koryphäe
MOF Koryphäe
Standard

Hallo Lucio,

das liegt am Update KB4011051

Jetzt hast du zwei Möglichkeiten:

1. Das Update deinstallieren und sicherstellen das es nicht wieder automatisch installiert wird.

2. Auf API umstellen. Beispiel:

Option Explicit

Private Declare Function CreateToolhelp32Snapshot Lib "kernel32.dll" ( _
    ByVal dwFlags As Long, _
    ByVal th32ProcessID As Long) As Long
Private Declare Function Process32First Lib "kernel32.dll" ( _
    ByVal hSnapshot As Long, _
    ByRef lppe As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "kernel32.dll" ( _
    ByVal hSnapshot As Long, _
    ByRef lppe As PROCESSENTRY32) As Long
Private Declare Function CloseHandle Lib "kernel32.dll" ( _
    ByVal hObject As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32.dll" ( _
    ByVal hProcess As Long, _
    ByVal uExitCode As Long) As Long
Private Declare Function OpenProcess Lib "kernel32.dll" ( _
    ByVal dwDesiredAccess As Long, _
    ByVal bInheritHandle As Long, _
    ByVal dwProcessId As Long) As Long

Private Const TH32CS_SNAPPROCESS As Long = &H2
Private Const MAX_PATH As Long = 260
Private Const PROCESS_VM_READ As Long = &H10

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 Prozesslist()
    Dim lngSnap As Long, udtProcess As PROCESSENTRY32, lngResult As Long, lngRow
    lngSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
    If lngSnap <> -1 Then
        udtProcess.dwSize = Len(udtProcess)
        lngResult = Process32First(lngSnap, udtProcess)
        Do Until lngResult = 0
            lngRow = lngRow + 1
            Cells(lngRow, 1).Value = Left$(udtProcess.szExeFile, _
                InStr(1, udtProcess.szExeFile, vbNullChar) - 1)
            udtProcess.szExeFile = vbNullString
            lngResult = Process32Next(lngSnap, udtProcess)
        Loop
    End If
    Call CloseHandle(lngSnap)
End Sub

__________________

Gruß
Nepumuk
Nepumuk ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 01.09.2017, 12:37   #7
lucio_07
Threadstarter Threadstarter
MOF User
MOF User
Standard Wow

Das ist SUPER!!
Vielen Dank

Gruss
lucio

__________________

Gruß
lucio
lucio_07 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:55 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.