首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> 關於VC++

可重用 RAS 撥號類:動態載入 DLL 免安裝 RAS 即可撥號上網

     編輯:關於VC++

CRAS 類別特色

  • 封裝 Windows 遠端存取服務(RAS)API
  • 動態載入 rasapi32.dll,目標機無需預裝 RAS 組件
  • 透過 LAN 即可撥號連線 Internet
  • 介面極簡:Initialize() → GetEntryCount()/GetEntry() → Dial()/HangUp()

核心介面

class CRAS {
public:
    BOOL Initialize();                    // 載入 RAS DLL,傳回成功與否
    BOOL GetEntryCount();                 // 取得電話簿項目數
    CString GetEntry(ULONG index);        // 取得指定項目名稱(填充 ComboBox 用)

    BOOL Dial(CString entry, CString user, CString pwd,
              CRASCallback callback, CString domain);
    BOOL HangUp();
};

回調函數型別

typedef void (CALLBACK* CRASCallback)(UINT msg, LPARAM param);
// msg: 狀態變更訊息(如 RASCS_Connected, RASCS_Disconnected 等)

使用範例

CRAS ras;
if (!ras.Initialize()) {
    AfxMessageBox(L"RAS 未安裝或初始化失敗");
    return;
}

int count = ras.GetEntryCount();
for (int i = 0; i < count; ++i)
    m_combo.AddString(ras.GetEntry(i));

// 使用者選擇項目後
ras.Dial(entryName, userName, password, MyCallback, domain);
// ...
ras.HangUp();

部署優勢

單一 CRAS.cpp/h 加入專案即可,無額外依賴,適合需內建撥號功能的輕量級應用程式。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved