David1993
-
Gesamte Inhalte
6 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von David1993
-
-
Das ist eine Erklärung.
Eine andere wäre, dass ein 32 Bit Prozess versucht auf einem 64 Bit Prozess zuzugreifen.
Schau dir den Punkt "Ausnahmen" an. Dort findest du die Erklärung, warum dort eine Win32Exception geworfen wird.
Process.MainModule-Eigenschaft (System.Diagnostics)
1. Lösungsvorschlag: Umfasse den Abruf mit einem try-catch und logge, wenn ein Prozess nicht abgerufen werden konnte.
2. Lösungsvorschlag: Du rufst nur die Prozesse ab, die keine "Pseudoprozesse" sind, mit:
foreach (var p in Process.GetProcesses().Where(x=>x.StartInfo.UseShellExecute==false).ToList()) { ... }
-
1. Gehe jeden Prozess einzeln mit dem Debugger durch
oder
2. Umfasse die gesamte Schleife mit einem try-catch Block und setze im "catch"-Block einen Breakpoint.
try{
foreach(..){
...
}
}
catch(Exception ex){
# Breakpoint
}
finally{
# Breakpoint
}
-
Okay.
Dann lade die Prozessliste vor Beginn der Schleife.
also:
var prozesse = Process.GetProcesses();
foreach(var p in prozesse)
{
...
}
-
Ja.
Binde LINQ ein: using System.Linq;
und verändere dein foreach Statement nach:
foreach (Process p in Process.GetProcesses().ToList())
-
Hallo,
es ist möglich, solange man Zahlen, die zwischen dem Minimum und Maximum liegen, schreiben möchte.
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.numericUpDown1.Minimum = 0; this.numericUpDown1.Maximum = 100; } public void MeineMethode() { // Sperre das Control this.numericUpDown1.Enabled = false; // Lese den aktuellen Wert aus decimal aktuellerWert = this.numericUpDown1.Value; // Schreibe einen anderen Wert zur Laufzeit in die Value Eigenschaft this.numericUpDown1.Value = 80; // Neuer Wert muss >= Minimum und <= Maximum sein // Entsperre das Control this.numericUpDown1.Enabled = true; } private void button1_Click(object sender, EventArgs e) { this.MeineMethode(); } }
Code nach foreach-schleife wird nicht ausgeführt
in .NET
Geschrieben
In der MSDN Doku steht weiter unten folgender Hinweis:
Damit müsste es meiner Meinung nach funktionieren. Teste es am Besten aus.