Однажды ко мне на почту пришло письмо. Человек просил помочь написать программу, которая автоматом коннектилась бы к интернету, запускала почтовую программу, скачивала почту и затем сама отключалась.
Задача вроде тривиальная, в дельфях есть какие-то компоненты на эту тему, но оказалось, что человек подключается к интернету через сотовый телефон! И, по сути дела, задача состояла в управлении GPRS - соединением.
Сразу я не нашелся что ответить, однако буквально через несколько дней мне на глаза где-то попалась статья с решением этой задачи. К статье прилагался исходник, правда, для Delphi 3, но после небольшой переделки и оптимизации всё весело зафурычило под Delphi 6. Здесь предлагаю код реализации. Весь пример состоит из двух функций: подключения и отключения. Код выглядит так:
procedure TForm1.Button1Click(Sender: TObject); var cmd, par, fil, dir: PChar; begin // establish the connection // die Verbindung aufbauen // rasdial.exe entryname username password cmd := 'open'; fil := 'rasdial.exe'; par := PChar(edtEntry.Text + ' ' + edtUser.Text + ' ' + edtPass.Text); dir := 'C:'; // call rasdial.exe with Shellexecute // rasdial mit Shellexecute aufrufen ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE); end; procedure TForm1.Button2Click(Sender: TObject); var cmd, par, fil, dir: PChar; begin // disconnect the connection to the Internet // Verbindung zum Internet abbrechen cmd := 'open'; fil := 'rasdial.exe'; par := PChar(edtEntry.Text + ' /DISCONNECT'); dir := 'C:'; ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE); end;