Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> игры 
:(
    Опции темы
dddim
  Дата 13.7.2005, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 13.7.2005

Репутация: нет
Всего: нет



надо сделать программу, чтобы когда она запущена, не запускались игры,
только игры!
я знаю, что большинство игр сегодня используют directx, а в нём определённые dll, только вот не знаю какие а также не знаю как как всё это отслеживать.
помогайте! smile smile smile smile smile
PM MAIL   Вверх
Girder
Дата 13.7.2005, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 25
Всего: 155



Цитата(dddim @ 13.7.2005, 13:25)
помогайте!
не хотим.

PS: http://forum.vingrad.ru/index.php?showtopic=55742



--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
dddim
Дата 15.7.2005, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 13.7.2005

Репутация: нет
Всего: нет



я не это имел в виду smile
мне надо чтобы прога отслеживала какие dll используются запускаемом в exe-файле и если там есть например 'ddraw.dll' она вырубала приложение smile

М
 
Поиск...
Енто уже много... много раз обсуждалось и как просмотреть модули  и как закрыть приложение...


Это сообщение отредактировал(а) Girder - 15.7.2005, 21:34
PM MAIL   Вверх
HackMan
Дата 16.7.2005, 02:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: нет
Всего: 9



Получение списка библиотек, загруженных программой

1. Создай новый проект
2. Добавь на форму listbox и кнопку.
3. Вместо сгенерированного Delphi кода помести следующий

Код

unit Unit1;  

interface  

uses Windows, Classes;  

type  
  TModuleArray = array[0..400] of HMODULE;  
  TModuleOption = (moRemovePath, moIncludeHandle);  
  TModuleOptions = set of TModuleOption;  

function GetLoadedDLLList(sl: TStrings;  
  Options: TModuleOptions = [moRemovePath]): Boolean;  

implementation  

uses SysUtils;  

function GetLoadedDLLList(sl: TStrings;  
  Options: TModuleOptions = [moRemovePath]): Boolean;  
type  
EnumModType = function (hProcess: Longint; lphModule: TModuleArray;  
  cb: DWord; var lpcbNeeded: Longint): Boolean; stdcall;  
var  
  psapilib: HModule;  
  EnumProc: Pointer;  
  ma: TModuleArray;  
  I: Longint;  
  FileName: array[0..MAX_PATH] of Char;  
  S: string;  
begin  
  Result := False;  

  (* Данная функция запускается только для Widnows NT *)  
  if Win32Platform <> VER_PLATFORM_WIN32_NT then  
    Exit;  

  psapilib := LoadLibrary('psapi.dll');  
  if psapilib = 0 then  
    Exit;  
  try  
    EnumProc := GetProcAddress(psapilib, 'EnumProcessModules');  
    if not Assigned(EnumProc) then  
      Exit;  
    sl.Clear;  
    FillChar(ma, SizeOF(TModuleArray), 0);  
    if EnumModType(EnumProc)(GetCurrentProcess, ma, 400, I) then  
    begin  
      for I := 0 to 400 do  
        if ma[i] <> 0 then  
        begin  
          FillChar(FileName, MAX_PATH, 0);  
          GetModuleFileName(ma[i], FileName, MAX_PATH);  
          if CompareText(ExtractFileExt(FileName), '.dll') = 0 then  
          begin  
            S := FileName;  
            if moRemovePath in Options then  
              S := ExtractFileName(S);  
            if moIncludeHandle in Options then  
              sl.AddObject(S, TObject(ma[I]))  
            else  
              sl.Add(S);  
          end;  
        end;  
    end;  
    Result := True;  
  finally  
    FreeLibrary(psapilib);  
  end;  
end;  

end.  





4.В обработчик события OnClick для кнопки напиши :

Код

procedure TForm1.Button1Click(Sender: TObject);  
begin  
  GetLoadedDLLList(ListBox1.Items, [moIncludeHandle, moRemovePath]);  
end;  



Но! Это работает только для NT подобных систем


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
dddim
Дата 16.7.2005, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 13.7.2005

Репутация: нет
Всего: нет



HackMan немного подправив товой текст я получил рабочую прогу...
ТОЛЬКО ВОТ НЕ ПОЙМУ Я КАКОЙ ПРОГРАММЫ ЭТОТ СПИСОК????
наверно это список dll моего проекта, тогда почему он отличаеся
от списка, который выдаёт lister(плагин total commander)?????????? smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0545 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.