インターネットチェッカーを作りたいのですが、このPinvokeStackImbalanceの何が問題なのかわかりません。実際、コードはVisual Basic 2008用に作成されましたが、私はVisualBasic2010を使用しています。
WebTest = CBool(InternetGetConnectedState(dwflags、0&))
問題はどこにありますか?ところで、それはモジュールです。
インターネットチェッカーを作りたいのですが、このPinvokeStackImbalanceの何が問題なのかわかりません。実際、コードはVisual Basic 2008用に作成されましたが、私はVisualBasic2010を使用しています。
WebTest = CBool(InternetGetConnectedState(dwflags、0&))
問題はどこにありますか?ところで、それはモジュールです。
関数に不適切な宣言を使用すると、MDA 警告が表示されます。これは VB.NET ではよくあることですが、VB.NET では機能しない古い VB6 宣言がインターネット上にたくさん出回っています。問題の確かな兆候は、この特定の関数です。DWORD 型の引数を 2 つ取ります。宣言にLongが表示されている場合は、VB6 が正しくありません。
Pinvoke Interop Assistant ツールまたは pinvoke.net Web サイトから、かなり信頼できる宣言を取得します。
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
次の場所に移動します。
次に、次のオプションのチェックを外します。
その後、メッセージはありません。