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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.12.2010, 15:32
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию Нужна помощь с ресурсами

Здраствуйте, мне нужно запаковать dll в файл res и потом в программе чтобы при нажатии на баттон программа искала определенный exe файл можно через реестр (только я незнаю как) и копировала туда где лежит exe файл. Если это возможно напиши плз!
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
  #2  
Старый 08.12.2010, 19:58
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

народ очень нужно(
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
  #3  
Старый 08.12.2010, 20:21
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А попонятнее объяснить?
Лично я нифига не понял.
Ответить с цитированием
  #4  
Старый 09.12.2010, 12:13
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
А попонятнее объяснить?
Лично я нифига не понял.
Вообщем есть файл dll(кряк для игры) я хочу его запаковать в файл .Res (Это можно! Когда запаковывал музыку в res тока не помню как!) потом при нажатии на кнопку в программе из файла res этот dll распаковывался в папку с файлом например program.exe (но надо его найти!) вот как запаковать dll и найти где лежит файл programm.exe и распаковать рядом с ним. Надеюсь понятно!
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
  #5  
Старый 09.12.2010, 16:53
Аватар для BoRoV
BoRoV BoRoV вне форума
Начинающий
 
Регистрация: 08.09.2008
Сообщения: 193
Репутация: 12694
По умолчанию

Создаешь файл, например dll.rc. В него пишешь:
Код:
DLL RCDATA "<путь к длл>"

Далее компилим ресурс при помощи brcc32.exe. Запускаем brcc32.exe через консоль с параметром путь к dll.rc.
Всё. На выходе получим dll.res. Который добавляем проект
Код:
{$R dll.res}

А это ф-ия извлечения длл. Можешь задать так чтоб пользователь сам задавал путь к игре. В path должен быть путь вместе с именем длл.
Код:
var
  hRes, hMod, hFile, dwSize, n: dword;
  pBuffer: pointer;
  path: array[0..255] of char;

begin

  hMod := FindResource(HInstance, 'DLL', RT_RCDATA);
  if (hMod <> 0) then
  begin
    dwSize := SizeofResource(HInstance, hMod);
    hRes := LoadResource(HInstance, hMod);
    if (hRes <> 0) then
    begin
      pBuffer := LockResource(hRes);
      if (pBuffer <> nil) then
      begin
        hFile := CreateFile(path, GENERIC_WRITE, FILE_SHARE_WRITE, 0, CREATE_ALWAYS, 0, 0);
        if (hFile <> INVALID_HANDLE_VALUE) then
        begin
          SetFilePointer(hFile, 0, nil, FILE_BEGIN);
          if not (WriteFile(hFile, pBuffer^, dwSize, n, 0)) then
            MessageBox(0, 'Can''t write to file', 'Error', 16)
          else
            if (dwSize <> n) then
              MessageBox(0, 'Not all bytes write to file', 'Error', 16)
          CloseHandle(hFile);
        end;
      end;
      FreeResource(hRes);
    end;
  end;
end.

Последний раз редактировалось BoRoV, 09.12.2010 в 22:21.
Ответить с цитированием
  #6  
Старый 09.12.2010, 21:19
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

спс=) как подключать я знаю, как создавать...забыл=) а про распаковку не знал! а как сделать чтобы программа находила файл и распаковывала именно туда!
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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