XspYroX Geschrieben 23. Januar 2013 Geschrieben 23. Januar 2013 Hi. Ich habe einen Service programmiert. Allerdings stoße ich jetzt auf ein Problem: System.ComponentModel.Win32Exception (0x80004005): Ein 32-Bit-Prozess kann nicht auf Module eines 64-Bit-Prozesses zugreifen. bei System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly) bei System.Diagnostics.NtProcessManager.GetFirstModuleInfo(Int32 processId) bei System.Diagnostics.Process.get_MainModule() Der Fehler trifft durch folgende 2 Zeilen auf: Process explorer = Process.GetProcessById(5984); string exp = explorer.MainModule.FileName.ToString(); Wenn ich den prozesspfad einer *32 Anwendung auslesen möchte, ist das kein problem. Aber sobald es 64 bit sind, kommt der fehler. Wie kriege ich es so gelöst, dass ich die prozesspfade von 32 UND 64 bit auslesen kann? Reicht es, wenn ich den dienst als 64-bit ausführen lasse? Wenn ja, wo stellt man das ein? Hab schon per googe gesucht, aber die Lösung haben mir irgendwie nicht geholfen :/ Freue mich über jede Hilfe ^^" LG XspYroX Zitieren
XspYroX Geschrieben 23. Januar 2013 Autor Geschrieben 23. Januar 2013 Glaube ich hab den Fehler schon selbst gefunden. Ich muss das ganze als x64 kompilieren. Das geht aber mit Visual C# 2010 EXPRESS nicht, sondern nur mit der Vollversion. Dann werd ich mir mal eine beschaffen Wenn das Problem danach gelöst ist, poste ich hier nochmal =) LG XspYroX Zitieren
SebastianB. Geschrieben 23. Januar 2013 Geschrieben 23. Januar 2013 Dann musst du aber tief in die Tasche greifen :-) Zitieren
XspYroX Geschrieben 24. Januar 2013 Autor Geschrieben 24. Januar 2013 (bearbeitet) Hmm... Gibt es eine kostenlose Testversion von Visual Basic 2012, die bloß zeitlich eingegrenzt ist und nicht von den Funktionen her? edit: Hab jetzt ne 90-Tage testversion davon gefunden. Sollte *HUST* wohl jetzt *Virtual Box HUST* klappen Bearbeitet 24. Januar 2013 von XspYroX Zitieren
Goulasz Geschrieben 24. Januar 2013 Geschrieben 24. Januar 2013 Du warst schon ausgelernt, oder? Sonst gäbe es ja noch die Dreamspark-Möglichkeit. Zitieren
Klotzkopp Geschrieben 24. Januar 2013 Geschrieben 24. Januar 2013 Hmm... Gibt es eine kostenlose Testversion von Visual Basic 2012, die bloß zeitlich eingegrenzt ist und nicht von den Funktionen her?Welche in Visual Studio Express 2012 nicht vorhandene Funktion brauchst du denn? Zitieren
XspYroX Geschrieben 24. Januar 2013 Autor Geschrieben 24. Januar 2013 Steht oben. Glaube ich hab den Fehler schon selbst gefunden. Ich muss das ganze als x64 kompilieren. Ich soll bei den Build-Einstellungen meines Projektes die Target-CPU auswählen. Es sollte also so aussehen: http://shades-of-orange.com/image.axd?picture=2010%2F5%2FCropperCapture[1].png Bei mir gibt es aber nur die Punkte links an der seite: - Anwendung - Erstellen - Buildereignisse - Debuggen - Ressourcen - Einstellungen - verweispfade - signierung - sicherheit - Veröffentlichen Nirgendwo dort kann ich die Platform-CPU auswählen. Wenn ich den Einstellungsreiter doch noch irgendwie dahinbekomme, sag es mir bitte Zitieren
Klotzkopp Geschrieben 24. Januar 2013 Geschrieben 24. Januar 2013 Es sollte also so aussehen:Das sieht nach VS 2010 aus. Bei VS 2012 solltest du die Plattform unter "Erstellen" finden. Zitieren
XspYroX Geschrieben 24. Januar 2013 Autor Geschrieben 24. Januar 2013 Das sieht nach VS 2010 aus. Bei VS 2012 solltest du die Plattform unter "Erstellen" finden. Auch in de Express-Version? Zitieren
Klotzkopp Geschrieben 24. Januar 2013 Geschrieben 24. Januar 2013 Auch in de Express-Version? Das weiß ich nicht, ich habe hier gerade gerade nur Premium und Professional. Aber laut Wikipedia sollte auch die Express-Variante x64-Binaries bauen können. Zitieren
XspYroX Geschrieben 24. Januar 2013 Autor Geschrieben 24. Januar 2013 Das sieht nach VS 2010 aus. Bei VS 2012 solltest du die Plattform unter "Erstellen" finden. Ok, ich teste es mal und werde davon berichten Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.