我想製作一個互聯網檢查程序,但我不知道這個PinvokeStackImbalance有什麼問題。實際上,代碼是針對Visual Basic 2008年提出的,但我真的使用的Visual Basic 2010PInvokeStackImbalance被檢測到 - Visual Basic 2010
WebTest的= CBool函數(的InternetGetConnectedState(dwFlags中,0 &))
在哪裏的問題?順便說一句,這是一個模塊。
我想製作一個互聯網檢查程序,但我不知道這個PinvokeStackImbalance有什麼問題。實際上,代碼是針對Visual Basic 2008年提出的,但我真的使用的Visual Basic 2010PInvokeStackImbalance被檢測到 - Visual Basic 2010
WebTest的= CBool函數(的InternetGetConnectedState(dwFlags中,0 &))
在哪裏的問題?順便說一句,這是一個模塊。
當您使用該函數的錯誤聲明時,您將獲得該MDA警告。這在VB.NET中很常見,在因特網上有很多舊的VB6聲明,這些聲明在VB.NET中不起作用。一個確定的麻煩跡象是這個特殊的函數,它需要兩個類型爲DWORD的參數,如果在聲明中看到長的,那麼你的VB6版本就不好了。
獲得來自的PInvoke互操作助理工具或pinvoke.net網站相當可靠聲明:
Private Declare Function InternetGetConnectedState Lib "wininet.dll" _
(ByRef lpdwFlags As Int32, ByVal dwReserved As Int32) As Boolean
Private Enum ConnectionStates
Modem = &H1
LAN = &H2
Proxy = &H4
RasInstalled = &H10
Offline = &H20
Configured = &H40
End Enum
這是正確的答案,這對我有用,謝謝! –
轉到:
,然後取消選中:
之後,沒有更多的消息。
你能顯示導入使用的聲明嗎? – Steve