Parallel.ForEach petit soucis
Bonjour à tous,
Je suis nouveau en programmation c# donc excusez-moi par avance si ma question parait "débile" :)
En fait je voudrais faire un Parallel.ForEach de ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
private void startButton_Click(object sender, RoutedEventArgs e)
{
logbox.AppendText("Initialization ... \n");
logbox.AppendText("----------------------------------------------\n");
ManagementObjectSearcher searcher = new ManagementObjectSearcher("\\\\"+System.Windows.Forms.SystemInformation.ComputerName.ToString()+ "\\root\\cimv2", "SELECT * FROM Win32_USBControllerDevice");
foreach (ManagementObject wmi_USBDevice in searcher.Get())
{
String[] devices = wmi_USBDevice["Dependent"].ToString().Split('=');
ManagementObjectSearcher searcherDevice = new ManagementObjectSearcher("\\\\" + System.Windows.Forms.SystemInformation.ComputerName.ToString() + "\\root\\cimv2", "SELECT * FROM Win32_PnpEntity Where DeviceID=" + devices[1]);
foreach (ManagementObject wmi_USB in searcherDevice.Get())
{
if (wmi_USB["Description"].ToString() == "MY USB KEY")
{
allusbdongle = wmi_USB["Description"].ToString() + "PORT :" + wmi_USB["DeviceID"].ToString();
}
}
}
} |
Du coup j'ai écrit :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
private void startButton_Click(object sender, RoutedEventArgs e)
{
logbox.AppendText("Initialization ... \n");
logbox.AppendText("----------------------------------------------\n");
ManagementObjectSearcher searcher = new ManagementObjectSearcher("\\\\"+System.Windows.Forms.SystemInformation.ComputerName.ToString()+ "\\root\\cimv2", "SELECT * FROM Win32_USBControllerDevice");
Parallel.ForEach(searcher.Get(), wmi_USB =>
{
String[] devices = wmi_USBDevice["Dependent"].ToString().Split('=');
ManagementObjectSearcher searcherDevice = new ManagementObjectSearcher("\\\\" + System.Windows.Forms.SystemInformation.ComputerName.ToString() + "\\root\\cimv2", "SELECT * FROM Win32_PnpEntity Where DeviceID=" + devices[1]);
foreach (ManagementObject wmi_USB in searcherDevice.Get())
{
if (wmi_USB["Description"].ToString() == "MY USB KEY")
{
allusbdongle = wmi_USB["Description"].ToString() + "PORT :" + wmi_USB["DeviceID"].ToString();
}
}
});
} |
mais bien sur ça ne marche pas et je ne comprend pas pourquoi...
Quelqu'un pourrait il m'éclairer ??
Merci à vous : )