1

クリックすると、ユーザーが現在のブートモードを表示するという単純なWPFプロジェクトがあります。button

Microsoft の Web サイトからいくつかのコードを見つけましたが、古い可能性がありますか? http://support.microsoft.com/kb/291664

これが私のコードです:

Class MainWindow


 Private Declare Function GetSystemMetrics Lib "user32" _
   (ByVal nIndex As Long) As Long
    Const SM_CLEANBOOT& = 67
    Private Sub DetectModeButton_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles DetectModeButton.Click
    Dim result As Long

    result = GetSystemMetrics(SM_CLEANBOOT)

    Select Case result
        Case 0
            MsgBox("System started in normal mode.")
        Case 1
            MsgBox("System started in safe mode.")
        Case 2
            MsgBox("System started in safe mode with networking.")
        Case Else
            MsgBox("Unknown value returned from GetSystemMetrics.")
    End Select
End Sub
End Class

実行時に次のエラーが発生します。

A call to PInvoke function 'BootModeTest!BootModeTest.MainWindow
::GetSystemMetrics' has unbalanced the stack. This is likely 
because the managed PInvoke signature does not match the 
unmanaged target signature. Check that the calling 
convention and parameters of the PInvoke 
signature match the target unmanaged signature

これを解決する方法を知っている人はいますか?

同じことに関する洞察も高く評価されます。

4

1 に答える 1