|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Socket error #10060 и пару вопросов про работу с процессами
1)При отправки сообщения выдает ошибку "Socket error 10060 Connection Timed out". Уже 3ий день ищу как исправить, но не могу найти. Перерыл множество форумов. Много где встречается ошибка, но как исправить не написано.
Вот код отправки: Код:
idsmtp2.AuthenticationType:=atLogin; idsmtp2.Host:='SMTP.yandex.ru'; idsmtp2.Port:=25; idsmtp2.Username:='***'; idsmtp2.Password:='***'; IdMessage1.Body.Text:='Тест '; IdMessage1.From.Text:='7919044****@sms.mts.ru'; IdMessage1.Recipients.EMailAddresses:='flop88@yandex.ru'; IdMessage1.Subject:='тест'; idsmtp2.Connect(); if idsmtp2.Connected=True then idsmtp2.send(IdMessage1); idsmtp2.Disconnect; вот функция Код:
function KillTask(ExeFileName: string): integer; const PROCESS_TERMINATE=$0001; var ContinueLoop: BOOL; FSnapshotHandle: THandle; FProcessEntry32: TProcessEntry32; begin result := 0; FSnapshotHandle := CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0); FProcessEntry32.dwSize := Sizeof(FProcessEntry32); ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32); while integer(ContinueLoop) <> 0 do begin if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(ExeFileName))) then Result := Integer(TerminateProcess(OpenProcess( PROCESS_TERMINATE, BOOL(0), FProcessEntry32.th32ProcessID), 0)); ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32); end; CloseHandle(FSnapshotHandle); end; так добавляем новое название процесса в файл, процессы которого должны закрываться Код:
procedure TForm1.btn6Click(Sender: TObject); begin if MessageDlg('Добавить запись?', mtInformation, [mbOk,mbCancel],0) = mrOK then begin FileSetReadOnly(system32+'\drivers\etc\progs', false); lst2.Items.Add(edt2.text); lst2.Items.SaveToFile(system32+'\drivers\etc\progs'); FileSetAttr(system32+'\drivers\etc\hosts', faReadOnly); edt2.Clear; end; end; и сама кнопка Код:
procedure TForm1.btn7Click(Sender: TObject); begin KillTask(lst2.Items.CommaText); end; Последний раз редактировалось Flop88, 06.02.2013 в 15:47. |