acerola
asked on
Hanging up Dial-up networking
Outlook Express has that checkbox "Hang up when finished" that disconnects dial-up networking. How to do that in a delphi 4 application?
I need a delphi-native source code to do that. I can't add 3rd party components or dlls to my application.
I need a delphi-native source code to do that. I can't add 3rd party components or dlls to my application.
When ever any connection is through windows provide a tray icon
with a disconnect button.This can be used for all applications.
You dont have to write an application for this.
But if you have to connect and disconnect through a delphi application(like I do) give me your e mail address and i will send you two free components which will do the trick.The components are not written by me but are availble in the various delphi sites
I have answered similar questions and you can get the question from list of questions answered in the delphi experts exchange forum itself.
do not grant me any points because i have already been awarded points previously.
venks
with a disconnect button.This can be used for all applications.
You dont have to write an application for this.
But if you have to connect and disconnect through a delphi application(like I do) give me your e mail address and i will send you two free components which will do the trick.The components are not written by me but are availble in the various delphi sites
I have answered similar questions and you can get the question from list of questions answered in the delphi experts exchange forum itself.
do not grant me any points because i have already been awarded points previously.
venks
ASKER
I want to hang up a dial-up connection that was estabilished by using the dial-up networking. And I must not use any other components. I guess that there is a hang-up proc/func in rnaapp.dll. Couldn't I just call it? If so, how?
Once again, I want some source code, NOT some new components. I thougt that doing this took only a couple lines of code...
Once again, I want some source code, NOT some new components. I thougt that doing this took only a couple lines of code...
This may be a good starting point to you:
First retrieve the open connection(s), and then hang up
with the handle you got.
I had to write this because sometime (under Win95 NOT 98)
the Explorer crashed/restarted emptying the tray leaving
me without a possibilty to close my dial-up connection.
function RasHangUp(RASCONN: HRASCONN): DWORD; stdcall;
function HangUpRAS: Integer;
const
MaxConnections = 16;
var
RAS: array[1..MaxConnections] of TRASCONN;
BuffSize: DWORD;
CONNSWritten: DWORD;
i: Integer;
Ret: DWORD;
begin
Result := 0;
{ retrieve the number of Connections }
RAS[1].dwSize := SizeOf(RAS[1]);
BUFFSize := SizeOf(RAS);
CONNSWritten := 0;
Ret := RasEnumConnections(@RAS, BUFFSize, CONNSWritten);
if (Ret = 0) or (Ret = ERROR_BUFFER_TOO_SMALL) then
for i := 1 to CONNSWritten do
begin
if RashangUp(RAS[i].hrasconn) = 0 then Inc(Result);
end;
end;
First retrieve the open connection(s), and then hang up
with the handle you got.
I had to write this because sometime (under Win95 NOT 98)
the Explorer crashed/restarted emptying the tray leaving
me without a possibilty to close my dial-up connection.
function RasHangUp(RASCONN: HRASCONN): DWORD; stdcall;
function HangUpRAS: Integer;
const
MaxConnections = 16;
var
RAS: array[1..MaxConnections] of TRASCONN;
BuffSize: DWORD;
CONNSWritten: DWORD;
i: Integer;
Ret: DWORD;
begin
Result := 0;
{ retrieve the number of Connections }
RAS[1].dwSize := SizeOf(RAS[1]);
BUFFSize := SizeOf(RAS);
CONNSWritten := 0;
Ret := RasEnumConnections(@RAS, BUFFSize, CONNSWritten);
if (Ret = 0) or (Ret = ERROR_BUFFER_TOO_SMALL) then
for i := 1 to CONNSWritten do
begin
if RashangUp(RAS[i].hrasconn)
end;
end;
ASKER
Please post the definitions of the structures (TRASCONN, HRASCONN, etc). Or tell me where to find them. Also, will I need any other file besides rasapi32.dll?
Shouldn't result:=0 be ret:=0?
Shouldn't result:=0 be ret:=0?
You can find all the structures along with the procedure declarations in the D_RAS library. Even though you don't want it, this packagde also include a very comprehensive demo program to show (almost) all the RAS functions.
Check http://www.torry.ru/vcl/comms/d_ras.zip
Check http://www.torry.ru/vcl/comms/d_ras.zip
ASKER
Thank you all.
The points will go to EmmDieh, so please post something as answer.
The points will go to EmmDieh, so please post something as answer.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
You can use the RAS component to dial/hang-up/select ras entry/... It's pure native delphi code, utilizing windows RAS
function.
You can download it from many sites, or give me your e-mail and I mail it to you, a very small component with good function.
But if you want to hang up an existing dial-up networking
connection that brought up by other applications, I'm sorry I
don't know yet.