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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск Каталога 
:(
    Опции темы
Volkogriz
Дата 19.4.2008, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Доброе время суток!
помогите плиз!
Дело в том что, Программа должна устанавливать дополнительные модули игры!
Но эта игра не устанавливается стандартным способом а просто идёт в архиве и каждый распаковав суёт её куда захочет!
в общем постоянного место жительства папки нет!
Возможно ли такое при запуски программы начинался поиск папки на диске после поиска когда папка найдена начиналось копирование файлов в эту папку с игрой но только если папка нашлась а ни создавать её!?
И ещё игра не регистрируется в реестре!
--------------------
("`-''-/").___..--''"`-._`6_6  ) ,,,`-.  ( ''' ).` "_-.__.')(_Y_.)'  ._''' )  `._ `. ``-.__'.-'_..`--'_..-_/'''/--'_.' ,'(il).-'''''(li).'  ((!.-'
PM MAIL ICQ   Вверх
SneG0K
Дата 19.4.2008, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

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



Цитата(Volkogriz @  19.4.2008,  18:27 Найти цитируемый пост)
И ещё игра не регистрируется в реестре! 

А что ты сделал для того, чтобы прописать в реестре данные?
Цитата(Volkogriz @  19.4.2008,  18:27 Найти цитируемый пост)
Возможно ли такое при запуски программы начинался поиск папки на диске

Возможно... FindFirst(), FindNext()
PM WWW Skype   Вверх
Volkogriz
Дата 19.4.2008, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



благодарю за ответ!
Вы непоняли я плохо объяснил! 
Игра не моя !
Это онлайн игра Lineage II!
Так что она сама туда не прописывается!
А может я и не прав!


Это сообщение отредактировал(а) Volkogriz - 19.4.2008, 23:20
--------------------
("`-''-/").___..--''"`-._`6_6  ) ,,,`-.  ( ''' ).` "_-.__.')(_Y_.)'  ._''' )  `._ `. ``-.__'.-'_..`--'_..-_/'''/--'_.' ,'(il).-'''''(li).'  ((!.-'
PM MAIL ICQ   Вверх
SneG0K
Дата 19.4.2008, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

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



Цитата(Volkogriz @  19.4.2008,  22:12 Найти цитируемый пост)
Так что она сама туда не прописуеться!

Так, а с чего ты тогда взял, что она вообще должна где-то прописываться?
PM WWW Skype   Вверх
Volkogriz
Дата 19.4.2008, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Я не об этом я просто к тому что поросто по риестру не найти путь к папки!
Не мне в принципе не это нужно а просто вычислить тоесть найти папку и установить файлы туда!
Огромное спасиба за проявленое внимание к маему вопросу!
А пападробний мона?)
--------------------
("`-''-/").___..--''"`-._`6_6  ) ,,,`-.  ( ''' ).` "_-.__.')(_Y_.)'  ._''' )  `._ `. ``-.__'.-'_..`--'_..-_/'''/--'_.' ,'(il).-'''''(li).'  ((!.-'
PM MAIL ICQ   Вверх
Volkogriz
Дата 20.4.2008, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Всем доброго времени суток!
Я сейчас вам попытаюсь объяснить суть проблемы!
Это сетевая игра Lineage II многие с ней знакомы наверняка!
Суть проблемы такая!
Я пробовал писать обновления в InnoSetup я её более или менее знаю!
Но люди играют в эту игру разного возраста и начиная от 30 лет мне пишут что ани немогут установить обновления так как каму племянник
каму сын установил игру и ани незнают где находиться папка с игрой а запускают саму игру с ярлычка!
Я уже пытался описывать поиск с ярлычка но люди среднего возраста у которых интересы другие всё равно не понимают!
Вот мне и пришла в голову идея написать программку которая будит искать папку с игрой находить в ней для сравнения указанные файлы и только после того как она убедилась что эта именно та папка устанавливать дополнительные или исправленные компоненты игры!
Мне кажется это не так сложно осуществить!
Но у меня не фига не выходит и я решил оборотиться к вам за помощью!
помогите пожалуйста и если нетрудно маленький примерчик который будит манипулировать с одним фай-ликам чтоб мне разобраться!
Заранее благодарен!
С уважением Volkogriz!
--------------------
("`-''-/").___..--''"`-._`6_6  ) ,,,`-.  ( ''' ).` "_-.__.')(_Y_.)'  ._''' )  `._ `. ``-.__'.-'_..`--'_..-_/'''/--'_.' ,'(il).-'''''(li).'  ((!.-'
PM MAIL ICQ   Вверх
THandle
Дата 20.4.2008, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

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



Volkogriz, название папки известно? Или хотя бы названия файлов?

Запускаешь поиск по всему диску(очень длительный).

1 способ. Ищешь по имени папки. Если найдена папк с таким именем, то копируешь в нее.
2 способ. Если название папки может быть любым, то ты в каждой папке ищешь пару файлов, если это файлы от игры, то копируешь в ту папку где они были найдены.

Вот пример поиска: http://forum.vingrad.ru/sources/topic-205111.html
PM   Вверх
Qu1nt
Дата 20.4.2008, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Пусть пользователь указывает путь к ярлычку. Анализируешь его и получаешь необходимый путь к папке с игрой.
PM MAIL   Вверх
Poseidon
Дата 21.4.2008, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

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



Цитата(Qu1nt @  20.4.2008,  21:22 Найти цитируемый пост)
Пусть пользователь указывает путь к ярлычку. Анализируешь его и получаешь необходимый путь к папке с игрой.
Да пусть пользователь при запуске указывает папку с игрой и все. Многие программы так делают, особенно патчи всякие. Искать по всему винчестеру можно, но может занять слишком много времени. Не всякий пользователь будет ждать.



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Qu1nt
Дата 21.4.2008, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Poseidon, я исходил из этого:
Цитата(Volkogriz @  20.4.2008,  14:18 Найти цитируемый пост)
каму сын установил игру и ани незнают где находиться папка с игрой а запускают саму игру с ярлычка!

Поиск, действительно, может оказаться очень длительным. Тем более, возможны ситуации, когда существует несколько папок с игрой: "Lineage II Server 1", "Lineage II Server 2"... и такому пользователю определить нужную не так уж и просто. 
Можно реализовать что-нибудь такое:
Пользователь запускает твою программу => потом запускает игру => твоя программа находит путь к игре, например, по имени процесса => после этого "убивает" процесс и выполняет необходимые действия. Чтобы не повторять все эти действия каждый раз, сохраняем полученный путь в файле/реестре.

Это сообщение отредактировал(а) Qu1nt - 21.4.2008, 10:47
PM MAIL   Вверх
Volkogriz
Дата 21.4.2008, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Спасибо всем огромное!
Цитата(Qu1nt @  21.4.2008,  10:03 Найти цитируемый пост)
Можно реализовать что-нибудь такое:
Пользователь запускает твою программу => потом запускает игру => твоя программа находит путь к игре, например, по имени процесса => 

Можно малинький примерчик плиз smile 
Ну просто савсем простинький! А? smile 


--------------------
("`-''-/").___..--''"`-._`6_6  ) ,,,`-.  ( ''' ).` "_-.__.')(_Y_.)'  ._''' )  `._ `. ``-.__'.-'_..`--'_..-_/'''/--'_.' ,'(il).-'''''(li).'  ((!.-'
PM MAIL ICQ   Вверх
Qu1nt
Дата 21.4.2008, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Наваял что-то:
Код

uses
  PsAPI;

function IsRunning(const ProcessName: string; var ProcessPath: string): Boolean;
var
  Processes: array[0..1023] of DWORD;
  cbNeeded, cbProcesses, hProcess, hMod: DWORD;
  ProcessFileName: array [0..MAX_PATH - 1] of Char;
  i: Integer;
begin
  Result := False;
  if not EnumProcesses(@Processes, SizeOf(Processes), cbNeeded) then
    Exit;
  cbProcesses := cbNeeded div SizeOf(cbProcesses);
  for i := 0 to cbProcesses - 1 do
  begin
    hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, False, Processes[i]);
    if hProcess <> 0 then
    begin
      if EnumProcessModules(hProcess, @hMod, SizeOf(hMod), cbNeeded) then
        GetModuleFileNameEx(hProcess, hMod, ProcessFileName, SizeOf(ProcessFileName));
      CloseHandle(hProcess);
      if AnsiSameText(ExtractFileName(ProcessFileName), ProcessName) then
      begin
        ProcessPath := ExtractFilePath(ProcessFileName);
        Result := True;
        Break;
      end;
    end;
  end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
  Path : string;
begin
  if IsRunning('notepad.exe', Path) then
  begin
    Self.Caption := Path;
    Timer1.Enabled := False;
  end;
end;

Примечание: Не работает под Win9x.

Это сообщение отредактировал(а) Qu1nt - 21.4.2008, 19:59
PM MAIL   Вверх
Volkogriz
Дата 22.4.2008, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Огромное спасиба! smile  smile 
С уважением Volkogriz!
--------------------
("`-''-/").___..--''"`-._`6_6  ) ,,,`-.  ( ''' ).` "_-.__.')(_Y_.)'  ._''' )  `._ `. ``-.__'.-'_..`--'_..-_/'''/--'_.' ,'(il).-'''''(li).'  ((!.-'
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

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

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

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


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

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


 




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


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

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