XP中请问如何在DELPHI调用某一个拨号连接 我的机器是XP的,我用winexec('rundll32.exe rnaui.dll,RnaDial'+'ADSL',9);报告错误:找不到rnaui.dll模块?怎么回事???????????? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 unit libRasDial;interfaceuses Windows, SysUtils, Registry, WinSock, WinInet, Ras;function _IsConnectedToInternet: Boolean;function _DoConnect(hwndParent:HWND): Boolean;function _GetRasConnNum: Integer;procedure _DoNew(hwndParent:HWND);function RasEnumEntriesA(Reserved: Pointer; szPhonebook: PChar; lpRasEntryName: PRASENTRYNAME; lpcb : PDWORD; lpcEntries : PDWORD ): DWORD; stdcall;function RasGetErrorStringA(uErrorValue : DWORD; szErrorString : PChar; cBufSize : DWORD ): DWORD; stdcall;function RasCreatePhonebookEntryA(hWndParent : HWND; lpszPhonebook : PChar ) : DWORD; stdcall;var Conn: DWORD;implementationconst INTERNET_CONNECTION_MODEM = 1; INTERNET_CONNECTION_LAN = 2; INTERNET_CONNECTION_PROXY = 4; INTERNET_CONNECTION_MODEM_BUSY = 8;function InternetGetConnectedState(lpdwFlags: LPDWORD; dwReserved: DWORD): BOOL; stdcall; external 'WININET.DLL';function _IsConnectedToInternet: Boolean;var dwConnectionTypes: Integer;begin try dwConnectionTypes := INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN + INTERNET_CONNECTION_PROXY; if InternetGetConnectedState(@dwConnectionTypes, 0) then Result := true else Result := false; except Result := false; end;end;function _DoConnect(hwndParent:HWND):Boolean;begin Result:= false; if _GetRasConnNum=0 then _DoNew(hwndParent); if _GetRasConnNum=0 then exit; InternetDial(hwndparent, '', INTERNET_AUTODIAL_FORCE_ONLINE, @Conn, 0); if Conn<>0 then Result:=true;end;function _GetRasConnNum: Integer;var Entries : array [0..15] of TRASENTRYNAME; cb : DWORD; cEntries : DWORD; dwRet : DWORD; Buf : array [0..127] of char;begin FillChar(Entries, SizeOf(Entries), 0); Entries[0].dwSize := SizeOf(TRASENTRYNAME); cb := SizeOf(Entries); cEntries := 0; dwRet := RasEnumEntriesA(NIL, NIL, @Entries[0], @cb, @cEntries); if dwRet <> 0 then RasGetErrorStringA(dwRet, @Buf[0], SizeOf(Buf)); Result:= cEntries;end;procedure _DoNew(hwndParent:HWND);var dwRet: DWORD; Buf : Array [0..127] of char;begin dwRet := RasCreatePhonebookEntryA(hwndParent, nil); if dwRet <> 0 then RasGetErrorStringA(dwRet, @Buf[0], SizeOf(Buf));end;function RasEnumEntriesA; external rasapi32 name 'RasEnumEntriesA';function RasGetErrorStringA; external rasapi32 name 'RasGetErrorStringA';function RasCreatePhonebookEntryA; external rasapi32 name 'RasCreatePhonebookEntryA';end. unit Ras;interfaceuses Windows;const{$IFDEF WINVER400} RAS_MaxEntryName = 256;{$ELSE} RAS_MaxEntryName = 20;{$ENDIF} rasapi32 = 'rasapi32.dll';type TRASENTRYNAME = packed record dwSize : DWORD; szEntryName : array [0..RAS_MaxEntryName] of char; szPadding : array [0..2] of Char; end; PRASENTRYNAME = ^TRASENTRYNAME;implementationend.var Form1: TForm1;implementationuses Ras, libRasDial, WinInet ;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);begin _DoConnect(0);//拨号end;procedure TForm1.Button2Click(Sender: TObject);begin if Conn <> 0 then InternetHangUp(Conn,0);//断开 end; JCL安装问题 请教一下关于DLL注入的问题 如何实现Delphi与Matlab 的接口 如何利用delphi读取二进制文件? 创建文件~~~~ 我想在库中选择某一个月的数据,应该怎么做呢? 怎么在一个文本里记录多条信息 请问如何用TMediaPlayer播放资源里的文件? dbgrid怎么加入合计?? 请各位帮帮忙,很急! 对结果集的处理!? access中SQL语句的写法
interface
uses
Windows, SysUtils, Registry, WinSock, WinInet, Ras;
function _IsConnectedToInternet: Boolean;
function _DoConnect(hwndParent:HWND): Boolean;
function _GetRasConnNum: Integer;
procedure _DoNew(hwndParent:HWND);
function RasEnumEntriesA(Reserved: Pointer;
szPhonebook: PChar;
lpRasEntryName: PRASENTRYNAME;
lpcb : PDWORD;
lpcEntries : PDWORD
): DWORD; stdcall;
function RasGetErrorStringA(uErrorValue : DWORD;
szErrorString : PChar;
cBufSize : DWORD
): DWORD; stdcall;
function RasCreatePhonebookEntryA(hWndParent : HWND;
lpszPhonebook : PChar
) : DWORD; stdcall;
var Conn: DWORD;
implementation
const
INTERNET_CONNECTION_MODEM = 1;
INTERNET_CONNECTION_LAN = 2;
INTERNET_CONNECTION_PROXY = 4;
INTERNET_CONNECTION_MODEM_BUSY = 8;
function InternetGetConnectedState(lpdwFlags: LPDWORD;
dwReserved: DWORD): BOOL; stdcall; external 'WININET.DLL';
function _IsConnectedToInternet: Boolean;
var
dwConnectionTypes: Integer;
begin
try
dwConnectionTypes := INTERNET_CONNECTION_MODEM +
INTERNET_CONNECTION_LAN +
INTERNET_CONNECTION_PROXY;
if InternetGetConnectedState(@dwConnectionTypes, 0) then
Result := true
else
Result := false;
except
Result := false;
end;
end;
function _DoConnect(hwndParent:HWND):Boolean;
begin
Result:= false;
if _GetRasConnNum=0 then _DoNew(hwndParent);
if _GetRasConnNum=0 then exit;
InternetDial(hwndparent,
'',
INTERNET_AUTODIAL_FORCE_ONLINE,
@Conn,
0);
if Conn<>0 then Result:=true;
end;
function _GetRasConnNum: Integer;
var
Entries : array [0..15] of TRASENTRYNAME;
cb : DWORD;
cEntries : DWORD;
dwRet : DWORD;
Buf : array [0..127] of char;
begin
FillChar(Entries, SizeOf(Entries), 0);
Entries[0].dwSize := SizeOf(TRASENTRYNAME);
cb := SizeOf(Entries);
cEntries := 0;
dwRet := RasEnumEntriesA(NIL, NIL, @Entries[0], @cb, @cEntries);
if dwRet <> 0 then RasGetErrorStringA(dwRet, @Buf[0], SizeOf(Buf));
Result:= cEntries;
end;
procedure _DoNew(hwndParent:HWND);
var
dwRet: DWORD;
Buf : Array [0..127] of char;
begin
dwRet := RasCreatePhonebookEntryA(hwndParent, nil);
if dwRet <> 0 then RasGetErrorStringA(dwRet, @Buf[0], SizeOf(Buf));
end;
function RasEnumEntriesA; external rasapi32 name 'RasEnumEntriesA';
function RasGetErrorStringA; external rasapi32 name 'RasGetErrorStringA';
function RasCreatePhonebookEntryA; external rasapi32 name 'RasCreatePhonebookEntryA';
end.
interface
uses
Windows;
const
{$IFDEF WINVER400}
RAS_MaxEntryName = 256;
{$ELSE}
RAS_MaxEntryName = 20;
{$ENDIF}
rasapi32 = 'rasapi32.dll';
type
TRASENTRYNAME = packed record
dwSize : DWORD;
szEntryName : array [0..RAS_MaxEntryName] of char;
szPadding : array [0..2] of Char;
end;
PRASENTRYNAME = ^TRASENTRYNAME;
implementation
end.var
Form1: TForm1;implementationuses Ras, libRasDial, WinInet ;
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
_DoConnect(0);//拨号end;procedure TForm1.Button2Click(Sender: TObject);
begin
if Conn <> 0 then
InternetHangUp(Conn,0);//断开 end;