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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Переменная окружения другой программы 
:(
    Опции темы
ZMaximI
Дата 14.6.2006, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 18.5.2004
Где: Украина, г. Харьк ов

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



Добрый день.

Помогите, пожалуйста побороть проблему:

Необходимо из программы узнать переменную окружения другой программы... в MSDN ничего по этому поводу не нашел. Но вот например плугин к ФАРу (Список процессов) как-то это делает - смотрит переменные окружения процессов.

Заранее благодарен.  
 


--------------------
<удалено администрацией форума>
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 14.6.2006, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



MSDN советует использовать для этих целей функцию
Цитата

DWORD GetEnvironmentVariable(
  LPCTSTR lpName,
  LPTSTR lpBuffer,
  DWORD nSize
);

 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ZMaximI
Дата 14.6.2006, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 18.5.2004
Где: Украина, г. Харьк ов

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



Прошу прощения, но я не совсем понял.
Могу ли я с помощью этой функции получить список процессов и обращаться к какому-либо процессу для, например его завершения ?
Если можно, то, если не трудно опишите, пожалуйста подробнее, как.
Если нельзя, то как можно это сделать иным способом.
Спасибо. 


--------------------
<удалено администрацией форума>
PM MAIL WWW ICQ   Вверх
Romikgy
Дата 15.6.2006, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Цитата(ZMaximI @  14.6.2006,  18:34 Найти цитируемый пост)
Могу ли я с помощью этой функции получить список процессов и обращаться к какому-либо процессу для, например его завершения ?

Дык че те надо , смотреть сабж или смотреть процессы и их стопорить? 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
ZMaximI
Дата 15.6.2006, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 18.5.2004
Где: Украина, г. Харьк ов

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



Мне нужно получить список процессов, и получить переменные окружения любого из них 


--------------------
<удалено администрацией форума>
PM MAIL WWW ICQ   Вверх
Romikgy
Дата 15.6.2006, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Цитата(ZMaximI @  15.6.2006,  10:12 Найти цитируемый пост)
Мне нужно получить список процессов

CreateToolhelp32Snapshot
Process32First
Process32Next

Цитата(ZMaximI @  15.6.2006,  10:12 Найти цитируемый пост)
получить переменные окружения любого из них 

GetEnvironmentStrings
GetEnvironmentVariable
FreeEnvironmentStrings

Одно странно GetEnvironmentStrings и 
The GetEnvironmentStrings function returns the address of the environment block for the current process

однако 
A process can use this function's return value to specify the environment address used by the CreateProcess function. 

Как именно это провернуть я не в курсе, но проги которые это смотрят , этим пользуются 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
ZMaximI
Дата 15.6.2006, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 18.5.2004
Где: Украина, г. Харьк ов

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



Спасибо.
Думаю, дальше разберусь. 


--------------------
<удалено администрацией форума>
PM MAIL WWW ICQ   Вверх
bems
Дата 16.6.2006, 03:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Romikgy @  15.6.2006,  11:36 Найти цитируемый пост)
A process can use this function's return value to specify the environment address used by the CreateProcess function. 
Имеется ввиду параметр lpEnvironment функции CreateProcess. Можно передать туда полученный адрес чтобы указать набор переменных окружения для нового процесса. Поскольку 
Цитата

When the block is no longer needed, it should be freed by calling FreeEnvironmentStrings.
то наверное функция возвращает адрес копии окружения текущего процесса. Это не то, что нужно автору топика
 


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Romikgy
Дата 16.6.2006, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Цитата(bems @  16.6.2006,  02:15 Найти цитируемый пост)
Это не то, что нужно автору топика

Дык предложи то что ему нужно smile 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Rouse_
Дата 16.6.2006, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Необходимо инжектировать свой код в адресное пространство чужого процесса и получить уже его переменные окружения при помощи GetEnvironmentVariable 


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0529 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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