哪個Windows API告訴我一個撥號連接處於連接或斷開狀態?哪個Windows API允許我以編程方式撥打撥號連接。 我想用C#.Net在Windows 7中開發個人應用程序。有人能幫助我嗎?用於撥打網絡連接的Windows API
0
A
回答
1
我相信RasDialDlg和相關的API可能是你在找什麼。不過,這比調用單個函數有點複雜。
1
首先檢查WinINet的MSDN文檔,特別是標題爲Establishing a Dial-Up Connection to the Internet的章節。
要確定是否存在活動的撥號連接,請使用wininet.dll中提供的InternetGetConnectedState
function。
// 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
function。
// 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);
或者,你可以探索DotRas project,這是一個試圖提供訪問遠程訪問服務於Windows系統(RAS)組件到.NET平臺。這可能比自己實現功能更容易。
相關問題
- 1. 使用模擬撥打網絡api
- 2. 接收/撥打電話時的網絡連接
- 3. 從Windows Mobile撥打網絡服務
- 4. RxAndroid接連撥打一個網絡電話
- 5. 使用所需的網絡適配器撥打網絡服務
- 6. 網絡可用性撥打電話
- 7. 用於檢查某個位置的網絡連接的API
- 8. ServiceStack - 撥打第三方網絡服務
- 9. 如何使用Windows API檢查網絡連接類型?
- 10. Windows Phone - 撥打默認的網絡瀏覽器
- 11. 到網絡套接字打開連接
- 12. 如何連接到QT或Windows API中的無線WIFI網絡?
- 13. 如何打開從Windows Mobile與C#的網絡連接?
- 14. 網絡連接
- 15. 防止多次撥打網絡服務
- 16. 無法撥打網絡服務
- 17. 從ios撥打多個網絡服務
- 18. 用於撥號連接的端口
- 19. Windows XPe RAS錯誤756「連接正在撥打」
- 20. 關於網絡連接的Java輪詢
- 21. API更新和Wi-Fi網絡連接
- 22. 通過網絡連接到SimPro API
- 23. 優步API:網絡連接丟失
- 24. 連接到網絡音頻API
- 25. 以編程方式在Windows CE中撥打現有連接?
- 26. Windows Mobile 6.5中的Rnaapp(撥號連接)
- 27. 連接到專用網絡
- 28. 禁用網絡連接
- 29. java - 在windows/linux上連接和斷開網絡連接
如果您想使用DotRas來確定連接是否處於活動狀態,您只需檢查調用RasConnection.GetActiveConnections方法的結果。它包含當前活動的所有基於RAS的連接。 – 2011-08-04 15:52:08