|
Вопрос # 4 812/ вопрос открыт / |
|
Добрый Вечер, уважаемые эксперты!
Подскажите, пожалуйста, как реализовать программу дозвона (Dial Up) не вызывая при этом rasphone.exe (Телефонную книгу). Возможно ли это?
Или, например - при вызове rasphone.exe скрыть все окна rasphone.exe и управлять всеми функциями из своей программы.
К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)
Приложение: Переключить в обычный режим- {{code}}
- unit Dial_Up;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs,RASUnit, ShellApi, Wininet, StdCtrls, Buttons, ExtCtrls;
-
- type
- TMainForm = class(TForm)
- ComboBox1: TComboBox;
- Edit1: TEdit;
- Edit2: TEdit;
- Label1: TLabel;
- Label2: TLabel;
- Label3: TLabel;
- Label4: TLabel;
- BitBtn1: TBitBtn;
- Timer1: TTimer;
- Image1: TImage;
- Image2: TImage;
- procedure FormCreate(Sender: TObject);
- procedure Timer1Timer(Sender: TObject);
- procedure BitBtn1Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- MainForm: TMainForm;
-
- implementation
-
- {$R *.dfm}
-
-
- function InternetConnected: Boolean;
- var
- dwConnectionTypes : DWORD;
- begin
- dwConnectionTypes :=
- INTERNET_CONNECTION_MODEM +
- INTERNET_CONNECTION_LAN +
- INTERNET_CONNECTION_PROXY;
- Result := InternetGetConnectedState(@dwConnectionTypes,0);
- end;
-
- procedure TMainForm.FormCreate(Sender: TObject);
- var
- BuffSize: Integer;
- Entries: Integer;
- Entry : array[1..MaxEntries] of TRasEntryName;
- X, Result_ : Integer;
- AllEntries: TStrings;
- begin
- Timer1.Enabled := True;
-
- ComboBox1.ItemIndex := -1;
- Entry[1].dwSize:=SizeOf(TRasEntryName);
- BuffSize:=SizeOf(TRasEntryName)*MaxEntries;
- Result_:=RasEnumEntries(nil, nil, @Entry[1], BuffSize, Entries);
- if (Result_ =0) and (Entries>0) then
- begin
- AllEntries:= TStringList.Create;
- for X:=1 To Entries do
- begin
- AllEntries.Add(Entry[x].szEntryName);
- end;
- ComboBox1.Items.Text := AllEntries.Text;
- AllEntries.Free;
- end;
- end;
-
-
- procedure TMainForm.Timer1Timer(Sender: TObject);
- begin
- Timer1.Interval := 1500;
- if InternetConnected = True
- then
- begin
- BitBtn1.Glyph.Assign(Image1.Picture.Bitmap);
-
- end
- else
- begin
- BitBtn1.Glyph.Assign(Image2.Picture.Bitmap);
-
- end;
- end;
-
-
- procedure TMainForm.BitBtn1Click(Sender: TObject);
- begin
- if InternetConnected = True
- then
- begin
- ShellExecute(Self.Handle, 'open', 'rasphone.exe', nil, nil, SW_SHOW);
- end
- else
- ShellExecute(Self.Handle, 'open', 'rasphone.exe', nil, nil, SW_SHOW);
- end;
- end.
-
- {{/code}}
 |
Вопрос задал: Kyran29 (статус: Посетитель)
Вопрос отправлен: 12 декабря 2010, 23:10
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, Kyran29!
Можно, если использовать rasdial.
Читаем раз http://www.delphisources.ru/pages/faq/base/ras_api_for_beginners.html
и читаем два http://www.delphisources.ru/pages/faq/base/inet_connect.html
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 13 декабря 2010, 11:26
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 15 декабря 2010, 10:29; участников в обсуждении: 2.
|
Вадим К (статус: Академик), 15 декабря 2010, 10:29 [#2]:
rasdial.exe в 7 есть на самом деле. Просто с севен поудаляли много полезных мелочей (тот же телнет чего только стоит). Почему? все просто, толстеет винда, но слишком быстро
поищите в системных каталогах библиотеку RasDial.dll или RasDial32.dll или что то похожее. Если есть, то можно использовать вышеприведённые функции.
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|