Как запустить одну программу из другой?
От: Аноним Артур Вартанов  
Дата: 19.05.02 10:21
Оценка: 116 (5) +1
Статья:
Как запустить одну программу из другой?
Автор(ы): Артур Вартанов


Авторы:
Артур Вартанов

Аннотация:
Запуск программы из mapped файла.
От: Nubie  
Дата: 20.05.02 10:21
Оценка:
А как запустить загруженный в память файл???
Т.е. после записи через WriteProcessMemory???
CreateProcess может использовать PATH
От: KA it-knowledge-base.blogspot.com
Дата: 06.09.02 14:55
Оценка:
Чтобы запустить с помощью CreateProcess выполнимый файл, не указывая полный путь к нему, но о котором известно, что он находится в одном из каталогов, перечисленных в переменной окружения PATH, необходимо (как утверждается в MSDN'е) первым параметром передать NULL, а имя приложения передавать вторым параметром (т.е. как часть командной строки).
В этом случае CreateProcess будет искать указанный файл в некоторых заранее предопределенных местах, а именно (в той последовательности, что указана ниже):
1. В каталоге, из которого был загружено приложение.
2. Текущий каталог родительского процесса.
3. В каталоге, "возвращаемом" GetSystemDirectory.
4. В каталоге, "возвращаемом" GetWindowsDirectory.
5. В каталогах, перечисленных в переменной окружения PATH.
//
#import <windows.bas>
class IWindows9x:protected DOS { private: virtual HANDLE EnumClouds()=0; };
Re: Запуск программы из mapped файла.
От: Michael Chelnokov Украина  
Дата: 13.09.02 17:39
Оценка:
goto _entry_point;
;)
Re: Запуск программы из mapped файла.
От: adontz Грузия http://adontz.wordpress.com/
Дата: 10.03.03 15:53
Оценка:
Так уж и goto. А если dll загрузить надо?

Может лучше запистаь его обратно на диск?
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: CreateProcess может использовать PATH
От: Valerio Россия linkedin.com/in/boronin
Дата: 23.06.03 04:29
Оценка:
Здравствуйте, KA, Вы писали:

KA>Чтобы запустить с помощью CreateProcess выполнимый файл, не указывая полный путь к нему, но о котором известно, что он находится в одном из каталогов, перечисленных в переменной окружения PATH, необходимо (как утверждается в MSDN'е) первым параметром передать NULL, а имя приложения передавать вторым параметром (т.е. как часть командной строки).

KA>В этом случае CreateProcess будет искать указанный файл в некоторых заранее предопределенных местах, а именно (в той последовательности, что указана ниже):
KA>1. В каталоге, из которого был загружено приложение.
KA>2. Текущий каталог родительского процесса.
KA>3. В каталоге, "возвращаемом" GetSystemDirectory.
KA>4. В каталоге, "возвращаемом" GetWindowsDirectory.
KA>5. В каталогах, перечисленных в переменной окружения PATH.

да, и при этом поле lpCurrentDirectory должно быть валидным (если полный путь не входит в имя процесса)!

еще, если полный путь к файлу не указан и сам файл — часть командной строки, ОС может немного модифицировать эту строку — в этом причина того, что тип LPTSTR lpCommandLine (а не LPCTSTR как казалось бы есс-но) — может быть причиной взрыва если константное выражение (строка с именем) в сегменте только для чтения окажется
... << RSDN@Home 1.0 beta 7a >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.