Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Dateipfad eines 64-bit Prozesses per 32-bit Anwendung abfragen

Frage Entwicklung VB for Applications

Mitglied: mathe172

mathe172 (Level 1) - Jetzt verbinden

26.05.2011 um 21:49 Uhr, 8210 Aufrufe, 4 Kommentare

Hallo,

ich arbeite mit VS2010 Express an einem Programm und hab mal wieder eine Frage...

...und zwar will ich den Dateipfad (der, den man auch im Taskmanager sieht) für alle laufenden Prozesse abfragen. Das Problem:
Es handelt sich hierbei um eine 32-bit Anwendung auf einem 64-bit Windows 7 OS. Nun kommt folgender Fehler, wenn ich den Dateipfad eines 64-bit Prozesses ermitteln will:

01.
Eine Ausnahme (erste Chance) des Typs "System.ComponentModel.Win32Exception" ist in System.dll aufgetreten. 
02.
 
03.
Ein 32-Bit-Prozess kann nicht auf Module eines 64-Bit-Prozesses zugreifen.
Den Pfad versuche ich über Process.MainModule.FileName abzufragen.

Kann man das irgendwie umgehen? z.B. per api?

Mfg,
Mathe172
Mitglied: Friemler
26.05.2011 um 22:19 Uhr
Hallo Mathe,

schau mal hier nach. Das ist zwar Delphi-Code, aber evtl. kannst Du Dir dort trotzdem was rausziehen.

Gruß
Friemler
Bitte warten ..
Mitglied: mathe172
27.05.2011 um 22:52 Uhr
Hallo,

danke - ich habs jetzt zwar mit wmi gemacht, hab's aber nur über deinen Link gefunden.
[edit: Bei den Funktionen im Link kam immer: Einstiegspunkt in kernel32.dll nicht gefunden...]

zwei Fragen noch (eine hat zwar nur wenig mit der Anfangsfrage zu tun):
Ich hab jetzt diesen Code:
01.
For Each Process As Process In Process.GetProcesses 
02.
            Try 
03.
                Dim mo As ManagementObject = CType(New ManagementObjectSearcher("select * from Win32_Process where processid = '" & Process.Id & "'").Get(0), ManagementObject) 
04.
                Dim Path As String 
05.
                For Each prop As PropertyData In mo.Properties 
06.
                    If prop.Name = "ExecutablePath" Then Path = prop.Value.ToString 
07.
                Next 
08.
            Catch ex As Exception 
09.
            End Try 
10.
        Next
Warum ist beim Prozess EXPLORER.EXE der Prop.value leer (nothing). Das heisst, er geht in den then-Teil (Zeile 6), sagt aber, prop.value=nothing

Die zweite Frage (ich weiss ich sollte eine neue Frage machen...)
Wenn man mit einer 32bit-Anwendung auf HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run (Registry) zugreifen will, wird man ja "umgeleitet" (nach HKLM\SOFTWARE\Wow6432\Microsoft\Windows\CurrentVersion\Run)
Wie kann ich jetzt aber auf den gewünschten Schlüssel zugreifen (ich brauche alle Autostart-Einträge)?

Mfg,
Mathe172
Bitte warten ..
Mitglied: Friemler
27.05.2011 um 23:40 Uhr
Hallo Mathe,

ich habe weder Visual Studio (sondern Delphi) noch ein 64Bit-System (sondern Windows 7 Ultimate 32Bit). Aber wenn ich mit VBS folgende Abfrage mache, erhalte ich einen Wert für ExecutablePath beim Explorer, bei vielen anderen Prozessen jedoch nicht.
01.
strComputer = "." 
02.
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\CIMV2") 
03.
 
04.
Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name='explorer.exe'") 
05.
 
06.
For Each objProcess in colProcesses 
07.
  WScript.Echo "Name          : " & objProcess.Name 
08.
  WScript.Echo "ExecutablePath: " & objProcess.ExecutablePath 
09.
  WScript.Echo "CommandLine   : " & objProcess.CommandLine 
10.
  WScript.Echo 
11.
Next
Das sollte eigentlich das selbe machen, wie Dein Code. Teste das doch mal bei Dir.

Was Deine zweite Frage betrifft, keine Ahnung , Google fragen.

Gruß
Friemler
Bitte warten ..
Mitglied: mathe172
28.05.2011 um 14:00 Uhr
Hallo,

komisch, dein Code funktioniert bei mir auch...
Naja, ich werde mal das Häckchen dran machen. Danke nochmals.

MfG,
Mathe172
Bitte warten ..
Ähnliche Inhalte
Windows Server
Windows Server 2008 32 Bit VHD mounten (7)

Frage von 4insiders zum Thema Windows Server ...

Microsoft Office
gelöst Access 2016: keine Verbindung zu 32-bit ODBC Datenquelle (4)

Frage von masteruser0815 zum Thema Microsoft Office ...

Webbrowser
Mozilla beginnt Wechsel auf 64-Bit-Firefox (4)

Link von sabines zum Thema Webbrowser ...

Neue Wissensbeiträge
Multimedia

Raspberry Pi als Digital-Signage-Computer

Information von BassFishFox zum Thema Multimedia ...

Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(15)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Freigabe aus anderem Netz nicht erreichbar (21)

Frage von McLion zum Thema Router & Routing ...

Windows Server
Kennwort vergessen bei Hyper vserver 2012r (20)

Frage von jensgebken zum Thema Windows Server ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (19)

Frage von Michael-ITler zum Thema Batch & Shell ...

Festplatten, SSD, Raid
Raidcontroller funktioniert nur, wenn unter Legacy-Boot gestartet wird (13)

Frage von DerWoWusste zum Thema Festplatten, SSD, Raid ...