hWnd и путь к файлу.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Alfa
Бывалый
Бывалый
 
Сообщения: 249
Зарегистрирован: 12.01.2003 (Вс) 20:15
Откуда: Россия, Красноярск

hWnd и путь к файлу.

Сообщение Alfa » 15.04.2005 (Пт) 20:10

Здравствуйте.

Хотелось бы узнать, как узнать, запущена ли программа, зная путь к ней? Как определить в данном случае hWnd? И как, зная hWnd, найти путь к программе и название файла (названия файла я находил)?

Самый волнующей вопрос для меня это 1, но был бы очень рад, если вы сможете ответить и на другие вопросы.

Заранее благодарю.
Изображение

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 15.04.2005 (Пт) 21:52

1) Никак
2) -
3) Через API GetModuleFileName

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.04.2005 (Сб) 5:03

1. Можно через CreateToolhelp32Snapshot, но только на виндах 95/98/Me, потому что на других путь к экзешнику возвращается неполный.
2. Раз ты уже получил pID, можно токже надыбать ID его главного треда, а там уже EnumThreadWindows.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 16.04.2005 (Сб) 9:00

xolod писал(а):1) Никак
2) -
3) Через API GetModuleFileName


Возможно всё!

Arcanoid
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 162
Зарегистрирован: 01.01.2005 (Сб) 15:44

Сообщение Arcanoid » 16.04.2005 (Сб) 21:25

2) Может перерыть всё дерево окон через GetWindow() и у каждого проверить с помощью GetWindowThreadProcessId() чьё оно?


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 68

    TopList