Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.02.2013, 15:45
Flop88 Flop88 вне форума
Прохожий
 
Регистрация: 30.04.2012
Сообщения: 34
Репутация: 10
По умолчанию 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;
2) Хочется сделать чтобы при нажатии на кнопку закрывались все процессы, которые записаны в файле(по названию процесса), не получается. Если в файл написать одно название процесса - закрывает, если больше одного - нет.

вот функция
Код:
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;
<---- закрываем те процессы, название которых находится в lst2

Последний раз редактировалось Flop88, 06.02.2013 в 15:47.
Ответить с цитированием
  #2  
Старый 07.02.2013, 12:55
Flop88 Flop88 вне форума
Прохожий
 
Регистрация: 30.04.2012
Сообщения: 34
Репутация: 10
По умолчанию

Неужели никто не знает как решить?
Ответить с цитированием
  #3  
Старый 07.02.2013, 14:16
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

Ну а где у тебя в процедуре KillTask разбор входного параметра? Туда если подаётся список файлов, то нужно отделить их друг от друга.
А если только одно название - то может переделать

Код:
procedure TForm1.btn7Click(Sender: TObject); 
var i:integer;
begin
  for i:=0 to lst2.Items.count-1 do
    KillTask(lst2.Items[i]); 
end;
Ответить с цитированием
Этот пользователь сказал Спасибо icWasya за это полезное сообщение:
Flop88 (07.02.2013)
  #4  
Старый 07.02.2013, 15:13
Flop88 Flop88 вне форума
Прохожий
 
Регистрация: 30.04.2012
Сообщения: 34
Репутация: 10
По умолчанию

Спасибо. Так увлекся, что про такую мелочь забыл)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:25.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter