Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2010, 16:16   #1
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию ресурсы

у меня есть скампилированый exe как можно программно заменить ресурсы на делфи. так сказать обновить ресурсы у exe ?
StartMis вне форума Ответить с цитированием
Старый 15.07.2010, 16:25   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Я знаю только одну функцию - WinAPI UpdateResource. Но увы все мои попытки:
Код:
var pc:pchar;h:THandle;
begin
 pc:='123';
 h:=BeginUpdateResource('project1.exe',false);
 if h=NULL then RaiseLastWin32Error;
 if UpdateResource(h,RT_STRING,'1',(LANG_RUSSIAN),pc,length(pc)) then RaiseLastWin32Error;
 EndUpdateResource(h,false);
end;
Оказались неудачными.
Если найдешь способ рабочий поделись - тоже интересно
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.07.2010, 17:04   #3
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

http://www.torry.net/pages.php?id=42
http://www.wilsonc.demon.co.uk/d10resourceeditor.htm
Google Search...
Tak?
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');
bitSoft вне форума Ответить с цитированием
Старый 15.07.2010, 17:06   #4
Korben5E
Форумчанин
 
Аватар для Korben5E
 
Регистрация: 13.07.2010
Сообщений: 346
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Я знаю только одну функцию - WinAPI UpdateResource. Но увы все мои попытки:
Код:
function MAKELANGID(p:Word; s:Word): longint;
begin
Result := (s shl 10) or p;
end;



var pc:pchar;h:THandle;
begin
 pc:='123';
 h:=BeginUpdateResource('project1.exe',false);
 if h=NULL then RaiseLastWin32Error;
 if UpdateResource(h,RT_STRING,MakeIntResource('1'),MAKELANGID(LANG_RUSSIAN, SUBLANG_DEFAULT),pc,length(pc)) then 
     EndUpdateResource(h,false)
 else
     RaiseLastWin32Error;
end;
Оказались неудачными.
Если найдешь способ рабочий поделись - тоже интересно
так-же

All data containing strings or text must be in Unicode format; lpData must not point to ANSI data.
Non est culpa vin, sed culpa bibentis
Korben5E вне форума Ответить с цитированием
Старый 15.07.2010, 20:57   #5
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию

вот нашел библиотеку кто может обьяснить что делает эта функция
Код:
function CreateFileX(fileName: PWideChar; write, create: boolean) : dword;
var c1, c2, c3 : dword;
begin
  if write then begin
    c1 := GENERIC_READ or GENERIC_WRITE;
    c2 := 0;
  end else begin
    c1 := GENERIC_READ;
    c2 := FILE_SHARE_READ or FILE_SHARE_WRITE;
  end;
  if create then c3 := CREATE_ALWAYS
  else           c3 := OPEN_EXISTING;
  if GetVersion and $80000000 = 0 then
       result := CreateFileW(fileName,                            c1, c2, nil, c3, 0, 0)
  else result := CreateFileA(pchar(string(wideString(fileName))), c1, c2, nil, c3, 0, 0);
end;
и можно ли файл брался не из файла fileName а например из image?
StartMis вне форума Ответить с цитированием
Старый 15.07.2010, 21:28   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

открывает файл.
Цитата:
и можно ли файл брался не из файла fileName а например из image?
а разве image это файл?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.07.2010, 21:32   #7
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию

нет не файл просто я не правеьно выразелся. можно ли переделать так что бы данные брались не из файла а из image . вообще непойму что конкретно эта функция делает но нужно что бы данные брались из image и возращались в функци как dword.
StartMis вне форума Ответить с цитированием
Старый 15.07.2010, 21:43   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

функция открывает файл и возвращает хендл открытого файла, так яснее?(его потом используем в ReadFile и тд)
это АПИ(CreateFileA/CreateFileW)

вы можете сохранить изображение image в поток/файл.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.07.2010, 21:48   #9
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию

я вообще не вьязжаю можно какнибудь это разрулить под мои нужды (можно пример) буду вам очень благодарен
StartMis вне форума Ответить с цитированием
Старый 15.07.2010, 21:51   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это открытие файла, к названию темы отношения не имеет.
(нужно чтоб читать/писать файл(и не только файл, но и например пайпы или дисковые томы)).
она используется например у THandleStream(и его потомка TFileStream)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ресурсы JeyKip Win Api 2 11.04.2010 10:26
Ресурсы VladimirVB Win Api 3 23.08.2009 12:47
Ресурсы W0LF Общие вопросы Delphi 1 01.08.2009 13:36
Ресурсы Witaliy Общие вопросы Delphi 1 27.04.2008 17:40
Ресурсы, зачем нужны ресурсы Hallo Обсуждение статей 0 12.12.2006 21:30