アプリケーションに関して、Windows XP で問題があります。Windows XP では次のエラーが表示されますが、7/8 では正常に動作し、次に何をすべきかわかりません。この問題を調べたところ、WMI に関連していることがわかりました。Windows XP システムで WMI の修復を試みましたが、それでも機能しませんでした。
これは私が受け取っているエラーです:
************** 例外テキスト **************
System.Management.ManagementException: Not found at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode) at System.Management.PropertyData.RefreshPropertyInfo() at System.Management.PropertyDataCollection.get_Item(String propertyName) at System.Management.ManagementBaseObject.GetPropertyValue (String propertyName) で System.Management.ManagementBaseObject.get_Item(String propertyName)
で ?.?.(Object , EventArgs ) で System.Windows.Forms.Timer.OnTick(EventArgs e) で System.Windows.Forms.Timer.TimerNativeWindow .WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
上記のシステムで winmgmt サービスが実行されています。次に何をすべきかについて何か考えがある人はいますか?現在、バグを特定するために Windows XP をインストールしていますが、このサイトの経験豊富なメンバーの助けを借りることができます。
エラーをシミュレートするコードを次に示します。hdd.Get ループで停止します
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.Text = TextBox1.Text + vbNewLine + "Starting process"
Try
Dim HDD_Serial As String = Nothing
TextBox1.Text = TextBox1.Text + vbNewLine + "Step 1"
Dim hdd As New ManagementObjectSearcher("select * from Win32_DiskDrive")
TextBox1.Text = TextBox1.Text + vbNewLine + "Step 2"
For Each hd In hdd.Get
TextBox1.Text = TextBox1.Text + vbNewLine + "Step 2.x"
HDD_Serial = hd("SerialNumber")
Next
TextBox1.Text = TextBox1.Text + vbNewLine + "Step 3"
HDD_Serial = HDD_Serial.Replace(" ", "")
TextBox1.Text = TextBox1.Text + vbNewLine + "Step 4"
Dim regkey As String = "0000-0000-0000-0000"
TextBox1.Text = TextBox1.Text + vbNewLine + "Step 5"
Dim sstring As String = regkey + "|" + HDD_Serial
TextBox1.Text = TextBox1.Text + vbNewLine + "Step 6"
sstring = AESEncrypt(sstring, "4545664456", "1251545478")
TextBox1.Text = TextBox1.Text + vbNewLine + "Step 7"
sstring = StrToHex(sstring)
TextBox1.Text = TextBox1.Text + vbNewLine + "Step 8"
Dim rk2 As RegistryKey = Registry.LocalMachine.CreateSubKey("SOFTWARE\Test Key")
TextBox1.Text = TextBox1.Text + vbNewLine + "Step 9"
rk2.SetValue("regentry", sstring, RegistryValueKind.String)
TextBox1.Text = TextBox1.Text + vbNewLine + "Step 10"
Catch ex As Exception
MessageBox.Show("Error")
TextBox1.Text = TextBox1.Text + vbNewLine + vbNewLine + "-----------------------------------------------------" + vbNewLine + ex.ToString
End Try
TextBox1.Text = TextBox1.Text + vbNewLine + "End of log"
End Sub
エラーの画像: