程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 不調用撥號網絡在程序中撥號

不調用撥號網絡在程序中撥號

編輯:關於C++

用撥號連接撥號的RasAPI函數為RasDial,其函數原型為:

function RasDial(pRasDialExtensions : LPRASDIALEXTENSIONS;//在WIN9X下無用,可設置為NIL

lpszPhonebook : PChar;//電話本名稱,在Win9X下無作用,可為空字符串

lpRasDialParams : LPRASDIALPARAMS;//撥號參數

dwNotifierType : DWORD;//消息通知方式

handle : TRasDialFunc;//消息處理事件

var lphRasConn : DWORD//返回的成功連接的連接句柄

) : DWORD; stdcall;

function RasDial;external RasApiDll name 'RasDialA';

參數pRASDIALPARAMS的說明同RasGetEntryDialParams.

參數dwNotifierType表示消息通知方式.在撥號過程中,系統發出撥號事件消息可以通知撥號進度,因而需要提供接受消息的方式和處理消息的函數.當其值為$FFFFFFFF時,則參數handle被視為一個窗口的句柄,事件消息被發生該窗口處理;當其值為0 時,handle被視為TRasDialFunc類型的函數的指針;當其值為1時,handle被視為TRasDialFunc1類型的函數的指針.

參數handle表示消息處理函數指針,其類型可以THandle、TRasDialFunc、TRasDialFunc1.當該參數不為NULL或NIL時,其代表的消息處理函數指針將接受撥號進度通知消息;為NIL時,撥號過程由異步方式變為同步方式,直到撥號過程成功或失敗後RasDial函數才返回.詳細可參見Delphi幫助文件中關於RasDial函數的幫助。

當撥號連接成功時,lphRasConn將表示其連接句柄.

函數返回值為0表示執行成功;否則為錯誤代碼.

下面是一個應用例子,按指定的撥號參數撥號.

var
RASDIALPARAMSData : RASDIALPARAMS;
dwResult : DWord;
RasCon : DWord;
begin
//指定撥號連接的撥號參數
with RASDIALPARAMSData do
begin
dwSize := sizeof( RASDIALPARAMS );//結構大小
szEntryName := '163';//指定撥號連接的名稱
szUserName := 'MyName';//指定用戶名稱
szPassword := 'MyPassword';//指定用戶密碼
szDomain := 'MyDomain';//指定域名
szCallbackNumber := '';//指定回叫號碼
szPhoneNumber := '';//指定撥號號碼
end;
//用指定的撥號參數撥號,采用同步撥號方式
dwResult := RasDial( NIL,'',@RASDIALPARAMSData,0,NIL,RasCon
);
if dwResult < > 0 then //設置指定撥號連接的撥號參數失敗
memo1.lines.add( '用'+StrPAS(RASDIALPARAMSData.szEntryName
)+'撥號失敗:'
+ GetRasError( dwResult ))
else
memo1.lines.add( '用'+StrPAS(RASDIALPARAMSData.szEntryName
)+'撥號成功!' );
end;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved