+ Ответить в теме
Страница 4 из 7 ПерваяПервая 1 2 3 4 5 6 7 ПоследняяПоследняя
Показано с 61 по 80 из 137

Тема: Delphi & Pascal

  1. #61
    Джедай nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь
    Регистрация
    22.01.2005
    Сообщений
    3,753
    Поблагодарил(а)
    419
    Получено благодарностей: 1,257 (сообщений: 528).

    По умолчанию

    в cmd (ID) сначала надо сначало задать идентификатор того прооцесса который ты "убиваешь"
    Телевизор — это просто маленькое прозрачное окошко в трубе духовного мусоропровода. © В. Пелевин.

  2. #62
    Гений qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе Аватар для qwas
    Регистрация
    09.11.2005
    Адрес
    7-ой
    Возраст
    40
    Сообщений
    2,949
    Поблагодарил(а)
    1,528
    Получено благодарностей: 1,680 (сообщений: 621).

    По умолчанию

    Напиши пожалуста пример:
    При нажатии кнопки убивается к примеру Winamp.exe.

  3. #63
    Гений qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе Аватар для qwas
    Регистрация
    09.11.2005
    Адрес
    7-ой
    Возраст
    40
    Сообщений
    2,949
    Поблагодарил(а)
    1,528
    Получено благодарностей: 1,680 (сообщений: 621).

    По умолчанию

    Чё трудно пример написать?:(

  4. #64
    Джедай nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь
    Регистрация
    22.01.2005
    Сообщений
    3,753
    Поблагодарил(а)
    419
    Получено благодарностей: 1,257 (сообщений: 528).

    По умолчанию

    мля, некогда мне переделывать код чтоб он те winamp убивал :mad:
    вот те кусок кода RеmoteControl - сам разбирайся

    Код:
    ...
    //список процессов
    var
      H:THandle;
      FProcessEntry32:TProcessEntry32;
      Count:Integer;
      ID:Integer;
    
    procedure FillList;
    begin
      with FprocessEntry32,CtrlSrvFrm.ListView.Items.Add do
        begin
          Caption := Format('$%x',[Th32ProcessID]);
          SubItems.Add(ExtractFileName(szExeFile));
        end;
      Inc(Count);
    end;
    
    ...
    
      //процессы компа-сервера
      else if  cmd = 'process'
        then
          begin
            CtrlSrvFrm.ListView.Items.Clear;
            H:=CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS,0);
            if H<>INVALID_HANDLE_VALUE
            then
              CtrlSrvFrm.ListView.Items.Clear;
            begin
              FProcessEntry32.dwSize:=SizeOf(FProcessEntry32);
              Count:=0;
              if Process32First(h,FProcessEntry32) then FillList;
              while Process32Next(h,FProcessEntry32) do FillList;
              CloseHandle(h);
            end;
            i := 0;
            Socket.SendText(#13#10 + '----------------------------------' + #13#10 +
                                     '          ПРОЦЕССЫ:' + #13#10 +
                                     '----------------------------------' + #13#10 +
                                     '      ID       |     Имя' + #13#10 +
                                     '----------------------------------' + #13#10);
            while i < CtrlSrvFrm.ListView.Items.Count do
              begin
                Socket.SendText(ListView.Items.Item[i].Caption + '    ' + ListView.Items.Item[i].SubItems.Text);
                i := i+1;
              end
            end
    
    ...
    
      //Удалить процесс на компе-сервере
      else if (copy(cmd,1,9) = 'KillProc:')
        then
          begin
            Delete(cmd,1,9);
            try
              try
                ID:=StrToInt(cmd);
              except
                begin
                  Socket.SendText('Ошибочка вышла!!!');
                  exit;
                end;
              end;
              H:=OpenProcess(Process_ALL_ACCESS,false,ID);
              if H<>INVALID_HANDLE_VALUE then
                begin
                  TerminateProcess(h,0);
                  CloseHandle(h);
                  Sleep(400);
                end;
              Socket.SendText('Процесс удален!!!');
            except
              begin
                Socket.SendText('Ошибочка вышла!!!');
                exit;
              end;
            end;
          end
    
    ...
    Телевизор — это просто маленькое прозрачное окошко в трубе духовного мусоропровода. © В. Пелевин.

  5. #65
    Гений qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе Аватар для qwas
    Регистрация
    09.11.2005
    Адрес
    7-ой
    Возраст
    40
    Сообщений
    2,949
    Поблагодарил(а)
    1,528
    Получено благодарностей: 1,680 (сообщений: 621).

    По умолчанию

    Хоть бы коменты написал, нехрена не понятно !
    А лудше дай инфы по этой теме, и по WindowsAPI не помешало бы, в книгах маловато написанно:( .

  6. #66
    Джедай nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь
    Регистрация
    22.01.2005
    Сообщений
    3,753
    Поблагодарил(а)
    419
    Получено благодарностей: 1,257 (сообщений: 528).

    По умолчанию

    Цитата Сообщение от Kolyan
    Хоть бы коменты написал, нехрена не понятно !
    А лудше дай инфы по этой теме, и по WindowsAPI не помешало бы, в книгах маловато написанно:( .
    млин...я ж сказал разбирайся сам...готовое те никто не даст
    а насчет винапи - ссылка
    Телевизор — это просто маленькое прозрачное окошко в трубе духовного мусоропровода. © В. Пелевин.

  7. #67
    Наш Чел dwemer кто это?
    Регистрация
    24.01.2006
    Сообщений
    250
    Поблагодарил(а)
    112
    Получено благодарностей: 58 (сообщений: 40).

    По умолчанию

    Код:
    Function DebugKillProcess(ProcessId: dword): boolean;
    var
     pHandle: dword;
     myPID: dword;
     HandlesInfo: PSYSTEM_HANDLE_INFORMATION_EX;
     r: dword;
    begin
     Result := false;
     myPID := GetCurrentProcessId();
     if not EnableDebugPrivilege() then Exit;
     //Подключаемся к системе отладки.
     if DbgUiConnectToDbg() <> STATUS_SUCCESS then Exit;
     pHandle := OpenProcessEx(ProcessId);
     //Включаем отладку процесса
     if DbgUiDebugActiveProcess(pHandle) <> STATUS_SUCCESS then Exit;
     //Надо найти полученый DebugObject
     HandlesInfo := GetInfoTable(SystemHandleInformation);
     if HandlesInfo = nil then Exit;
     for r := 0 to HandlesInfo^.NumberOfHandles do
      if (HandlesInfo^.Information[r].ProcessId = myPID) and
         (HandlesInfo^.Information[r].ObjectTypeNumber = $8)  //DebugObject
         then begin
           //Зкрываем DebugObject, что приводит к уничтоженю процесса
           CloseHandle(HandlesInfo^.Information[r].Handle);
           Result := true;
           break;
         end;
     VirtualFree(HandlesInfo, 0, MEM_RELEASE);
    end;
    открываем чужой процесс под отладкой, затем завершаем отладку и процесс умирает.
    но это на ХР. на младших осях отладку завершить так просто не получится, нужно собственный процесс завершать, тогда и "жертва" умрет
    забивание гвоздей микроскопом конечно ) но убьются многие процессы которые защищают себя от убийства))

    но, имхо, чтоб винамп убить можно просто послать wm_close какой нить его окну ))

    а по Win32 API - читайте MSDN. первоисточник.(http://msdn.microsoft.com) Еще на сайте мелкософта не так давно можно было заказать комплект ВизуалСтудии 2005 бета. и там ДВД с МСДН прилагается. может щас еще высылают. бесплатно

    ..
    ах да, для отладки нужны привилегии соответствующие,
    SuDebug вроде

  8. #68
    Джедай nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь
    Регистрация
    22.01.2005
    Сообщений
    3,753
    Поблагодарил(а)
    419
    Получено благодарностей: 1,257 (сообщений: 528).

    По умолчанию

    dwemer, тут могут опять же возникнуть вопросы по ID процесса ;)

    а чтоб окно убить -
    Код:
    procedure CloseWnd;
    var
      h: hWind; //хендл окна
    begin
      h:=FindWindow(nil, 'Winamp'); //поиск окна с заголовком Winamp
      if h=0 then exit; //если ничего не нашли выходим
      SendMessage(h, WM_DESTROY,0,0);//закрытие(уничтожение) окна
    end;
    но надо чтоб тока окно точно называлось Winamp - иначе нифига...а при проигравании песен - название меняется
    Телевизор — это просто маленькое прозрачное окошко в трубе духовного мусоропровода. © В. Пелевин.

  9. #69
    Наш Чел dwemer кто это?
    Регистрация
    24.01.2006
    Сообщений
    250
    Поблагодарил(а)
    112
    Получено благодарностей: 58 (сообщений: 40).

    По умолчанию

    дык по имени процесса ПИД узнаем , и все

    а то что название окна меняется в винампе..... так слово winamp там все равно присутствует !? ) вот и ищем все окна с этим словом - и под нож )

  10. #70
    Джедай nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь
    Регистрация
    22.01.2005
    Сообщений
    3,753
    Поблагодарил(а)
    419
    Получено благодарностей: 1,257 (сообщений: 528).

    По умолчанию

    вопсчем чтобы не разводить лишний флуд вот написал все таки процедурку, которая находит и уничтожает Winamp

    Код:
    procedure killWinamp;
    var
        h, hwndWinamp, PID : THandle;
    begin
      hwndWinamp:= FindWindow('Winamp v1.x',nil); //находим винамп
      GetWindowThreadProcessId(hwndWinamp,PID); //получаем пид
    //  ShowMessage(IntToStr(PID)); //так...для наглядности выводил его %)
      try
        H:=OpenProcess(Process_ALL_ACCESS,false,PID);
        if H<>INVALID_HANDLE_VALUE then 
          begin
            TerminateProcess(h,0); // уничтожаем процесс
            CloseHandle(h);
            Sleep(400);
          end;
        ShowMessage('Процесс удален!!!');
      except
        begin
          ShowMessage('Ошибочка вышла!!!');
          exit;
        end;
      end;
    end;
    проверил, все точно работает!
    Телевизор — это просто маленькое прозрачное окошко в трубе духовного мусоропровода. © В. Пелевин.

  11. #71
    Гений qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе Аватар для qwas
    Регистрация
    09.11.2005
    Адрес
    7-ой
    Возраст
    40
    Сообщений
    2,949
    Поблагодарил(а)
    1,528
    Получено благодарностей: 1,680 (сообщений: 621).

    По умолчанию

    Цитата Сообщение от n0ns3ns3
    вопсчем чтобы не разводить лишний флуд вот написал все таки процедурку, которая находит и уничтожает Winamp

    Код:
    procedure killWinamp;
    var
        h, hwndWinamp, PID : THandle;
    begin
      hwndWinamp:= FindWindow('Winamp v1.x',nil); //находим винамп
      GetWindowThreadProcessId(hwndWinamp,PID); //получаем пид
    //  ShowMessage(IntToStr(PID)); //так...для наглядности выводил его %)
      try
        H:=OpenProcess(Process_ALL_ACCESS,false,PID);
        if H<>INVALID_HANDLE_VALUE then 
          begin
            TerminateProcess(h,0); // уничтожаем процесс
            CloseHandle(h);
            Sleep(400);
          end;
        ShowMessage('Процесс удален!!!');
      except
        begin
          ShowMessage('Ошибочка вышла!!!');
          exit;
        end;
      end;
    end;
    проверил, все точно работает!
    Сэнкю вери мач.
    ----------------------------------------------------------------------------------------------------------
    procedure CloseWnd;
    var
    h: hWind; //хендл окна
    begin
    h:=FindWindow(nil, 'Winamp'); //поиск окна с заголовком Winamp
    if h=0 then exit; //если ничего не нашли выходим
    SendMessage(h, WM_DESTROY,0,0);//закрытие(уничтожение) окна
    end;
    ------------------------------------------------------------------------------------------------------------
    Это тоже работает, конечно если название окна др. то хрен на палочке .

  12. #72
    Гений qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе Аватар для qwas
    Регистрация
    09.11.2005
    Адрес
    7-ой
    Возраст
    40
    Сообщений
    2,949
    Поблагодарил(а)
    1,528
    Получено благодарностей: 1,680 (сообщений: 621).

    По умолчанию

    Кароче задачка.
    Надо что бы в поле memo адрес "http://forum.bratsk.org" отображался как сцилочка. Типа как в ворде.

  13. #73
    Джедай nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь
    Регистрация
    22.01.2005
    Сообщений
    3,753
    Поблагодарил(а)
    419
    Получено благодарностей: 1,257 (сообщений: 528).

    По умолчанию

    используй компоненту RxRichEdit из библиотечки RxLib
    в нем
    Код:
    RxRichEdit1.AutoURLDetect := true;
    и пишешь обработчик на событие OnURLClick
    Телевизор — это просто маленькое прозрачное окошко в трубе духовного мусоропровода. © В. Пелевин.

  14. #74
    Гений qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе Аватар для qwas
    Регистрация
    09.11.2005
    Адрес
    7-ой
    Возраст
    40
    Сообщений
    2,949
    Поблагодарил(а)
    1,528
    Получено благодарностей: 1,680 (сообщений: 621).

    По умолчанию

    Оброчик типа чтоб браузер открывал.

  15. #75
    Джедай nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь
    Регистрация
    22.01.2005
    Сообщений
    3,753
    Поблагодарил(а)
    419
    Получено благодарностей: 1,257 (сообщений: 528).

    По умолчанию

    Цитата Сообщение от qwas
    Оброчик типа чтоб браузер открывал.
    это мысль или вопрос? (%
    если вопрос, то да (;
    Телевизор — это просто маленькое прозрачное окошко в трубе духовного мусоропровода. © В. Пелевин.

  16. #76
    Гений qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе Аватар для qwas
    Регистрация
    09.11.2005
    Адрес
    7-ой
    Возраст
    40
    Сообщений
    2,949
    Поблагодарил(а)
    1,528
    Получено благодарностей: 1,680 (сообщений: 621).

    По умолчанию

    Чё та у меня нет такой либы или я не там ищю?
    Кстати у меня 2005 Делфа.

  17. #77
    Кандидат в умники JiF Включаюсь JiF Включаюсь JiF Включаюсь
    Регистрация
    20.05.2005
    Сообщений
    420
    Поблагодарил(а)
    0
    Получено благодарностей: 14 (сообщений: 9).

    По умолчанию

    Цитата Сообщение от qwas
    Чё та у меня нет такой либы или я не там ищю?
    Кстати у меня 2005 Делфа.
    Rxlib давно примкнул к проекту JEDI (вроде http://jvcl.sourceforge.net/) ... Последний Rx есть только для Delphi 6 (если пропатчить, попрёт на 7ой) ...

  18. #78
    Гений qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе Аватар для qwas
    Регистрация
    09.11.2005
    Адрес
    7-ой
    Возраст
    40
    Сообщений
    2,949
    Поблагодарил(а)
    1,528
    Получено благодарностей: 1,680 (сообщений: 621).

    По умолчанию

    Кароче задачка.
    Сделать сцилку в memo!

  19. #79
    Джедай nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь nons Трогаюсь
    Регистрация
    22.01.2005
    Сообщений
    3,753
    Поблагодарил(а)
    419
    Получено благодарностей: 1,257 (сообщений: 528).

    По умолчанию

    Цитата Сообщение от qwas
    Кароче задачка.
    Сделать сцилку в memo!
    RxLib ... (:
    Телевизор — это просто маленькое прозрачное окошко в трубе духовного мусоропровода. © В. Пелевин.

  20. #80
    Гений qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе qwas Разбег по полосе Аватар для qwas
    Регистрация
    09.11.2005
    Адрес
    7-ой
    Возраст
    40
    Сообщений
    2,949
    Поблагодарил(а)
    1,528
    Получено благодарностей: 1,680 (сообщений: 621).

    По умолчанию

    Вот такая хрень. ):
    Последний раз редактировалось qwas; 07.12.2006 в 02:17.

+ Ответить в теме
Страница 4 из 7 ПерваяПервая 1 2 3 4 5 6 7 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

     

Похожие темы

  1. Многоадресная рассылка в Delphi (IP Multicasting)
    от br.Reanimator в разделе Delphi/Pascal
    Ответов: 2
    Последнее сообщение: 21.01.2011, 05:14
  2. delphi 2005
    от ozznob в разделе Delphi/Pascal
    Ответов: 25
    Последнее сообщение: 24.07.2006, 19:23

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru
Администрация сайта не выражает согласия
с высказыванием участников форума и не несет
ответственности за их содержание.

Копирование любого материала возможно только
при наличии ссылки на сайт.