ダイヤルアップ接続が接続状態または切断状態であることを通知する Windows API はどれですか? どの Windows API を使用すると、ダイヤルアップ接続をプログラムでダイヤルできますか? C#.Net を使用して、Windows 7 で個人用のアプリケーションを開発したいと考えています。誰かが私を助けることができますか?
質問する
2283 次
2 に答える
1
まず、WinINet に関する MSDN のドキュメント、特に「インターネットへのダイヤルアップ接続を確立する」というタイトルのセクションを確認してください。
アクティブなダイヤルアップ接続があるかどうかを判断するには、wininet.dll で提供されるInternetGetConnectedState
関数を使用します。
// possible values returned in lpdwFlags parameter
const int INTERNET_CONNECTION_CONFIGURED = 0x40;
const int INTERNET_CONNECTION_LAN = 0x02;
const int INTERNET_CONNECTION_MODEM = 0x01;
const int INTERNET_CONNECTION_OFFLINE = 0x20;
const int INTERNET_CONNECTION_PROXY = 0x04;
const int INTERNET_RAS_INSTALLED = 0x10;
[DllImport("wininet.dll", SetLastError=true, CharSet=CharSet.Auto)]
static extern bool InternetGetConnectedState(out int lpdwFlags, int dwReserved);
また、ネットワーク接続をダイヤルするには、InternetDial
機能を使用できます。
// possible values for dwFlags parameter
const int INTERNET_AUTODIAL_FORCE_ONLINE = 0x1;
const int INTERNET_AUTODIAL_FORCE_UNATTENDED = 0x2;
const int INTERNET_DIAL_FORCE_PROMPT = 0x2000;
const int INTERNET_DIAL_UNATTENDED = 0x8000;
const int INTERNET_DIAL_SHOW_OFFLINE = 0x4000;
// possible return values
const int ERROR_SUCCESS = 0x0;
const int ERROR_INVALID_PARAMETER = 0x57;
const int ERROR_NO_CONNECTION = 0x29C;
const int ERROR_USER_DISCONNECTION = 0x277;
[DllImport("wininet.dll", SetLastError=true, CharSet=CharSet.Auto)]
static extern int InternetDial(IntPtr hWndParent, string lpszConnected,
int dwFlags, ref int lpdwConnection,
int dwReserved);
または、 Windows のリモート アクセス サービス (RAS) コンポーネントへのアクセスを .NET プラットフォームに提供しようとするDotRas プロジェクトを調べることもできます。これはおそらく、機能を自分で実装するよりも簡単です。
于 2011-02-08T06:02:26.307 に答える
1
RasDialDlgと関連する API が探しているものかもしれません。ただし、単一の関数を呼び出すだけでは少し複雑です。
于 2011-02-08T05:42:46.607 に答える