![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
Attack |
|
||||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 20.7.2006 Репутация: нет Всего: нет |
Здравствуйте, у меня проблема с получением полного пути к процессам, под Windows Seven (64-bit).
Сам список "exe" файлов получается нормально, делаю это вот так:
Соответственно в ListBox1 получаю полный список процессов, от всех пользователей. Дальше мне необходимо получить путь к каждому процессу. Делаю это так:
Но путь определяется не правильно! Некоторым процессам приписываются пути других. Так как грамотно получить пути всех процессов под Севеном? |
||||
|
|||||
Keeper89 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 14 Всего: 58 |
Это смотрели?
|
|||
|
||||
Attack |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 20.7.2006 Репутация: нет Всего: нет |
Keeper89, да, смотрел )) Та же самая проблема!
|
|||
|
||||
Keeper89 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 14 Всего: 58 |
К сожалению нет у меня семерки и проверить не могу.
![]() |
|||
|
||||
ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
У меня есть 64-битная 7-ка. правда прямо сейчас проверить не могу. Пока такие замечания:
Какой разрядности ваше приложение? А проблемы случайно не с 64-битными приложениями? (например диспетчер задач - taskmgr.exe - 64-битный) Про фукнцию CreateToolhelp32Snapshot в MSDN написано:
-------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
Attack |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 20.7.2006 Репутация: нет Всего: нет |
ksili, программа у меня 32-битная.
А что нужно в Uses прописать для QueryFullProcessImageName? |
|||
|
||||
Maks1509 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 22.8.2007 Где: г. Тольятти Репутация: 3 Всего: 5 |
По хорошему нужно создавать 64-битное приложение, но на данный момент компилятор Delphi этого сделать не может.
Немного иной способ решения данной проблемы я обнаружил на немецком форуме. Посмотрите, может поможет на 7, но в XP x64 работает превосходно. http://forum.sources.ru/index.php?showtopi...&st=0&# Это сообщение отредактировал(а) Maks1509 - 14.12.2009, 22:28 |
|||
|
||||
Attack |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 20.7.2006 Репутация: нет Всего: нет |
Maks1509, спасибо, код работает, хотя и значительно обрастает дополнительными функциями ))
Добавлено: Код не определяет 2 процесса! Первый с PID = 4 ну это понято это "System" А вот второй это "audiodg.exe", при выполнении OpenProcess возвращает 0. Порыл в нете, люди говорят что этот процесс защищён, и в него можно залезть только из службы, как то так... мне этот процесс не важен, однако обидно! Причём Диспетчер задач путь его нормально отображает. Это сообщение отредактировал(а) Attack - 15.12.2009, 01:32 |
|||
|
||||
ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
Что-то я сразу не заметил, что эта тема в Delphi. Для Visual Studio я качал WinSDK for Windows 7, чтобы использовать функции, которые появились в висте и семёрке. -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 6 Всего: 50 |
Ну можно описатьтак, например:
Но лучше использовать динамическую линковку. -------------------- |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 6 Всего: 50 |
Открывай этот процесс с привилегией PROCESS_QUERY_LIMITED_INFORMATION ($1000). -------------------- |
|||
|
||||
Attack |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 20.7.2006 Репутация: нет Всего: нет |
Демо, спасибо, однако только сейчас заметил один странный глюк:
![]() Слева программа запущена из среды(F9), а справа просто из системы (с правами админа) почему csrss.exe не опознался? |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 6 Всего: 50 |
У меня одинаково.
Привилегии на отладку получаешь? -------------------- |
|||
|
||||
Attack |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 20.7.2006 Репутация: нет Всего: нет |
Демо, нет конечно =) Сейчас попробую.
Добавлено: Вот что получилось:
Всем большое СПАСИБО! Это сообщение отредактировал(а) Attack - 15.12.2009, 22:38 |
|||
|
||||
Демо |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 6 Всего: 50 |
Если тебе сразу путь нужно получить без пути с устройством, то нужно было параметр 0 использовать просто:
-------------------- |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |