О разрядности ОС
Этот топик читают: Гость
Ответов: 3349
Рейтинг: 233
|
|||
карма: 1 |
|
Разработчик
Ответов: 26164
Рейтинг: 2127
|
|||
Ivann писал(а): О разрядности ОСИ как она будет работать в Win64 Тут надо делать, либо, все же, на NtQueryInformationProcess, либо искать альтернативу, но не CreateToolhelp32Snapshot |
|||
карма: 22 |
|
Ответов: 3349
Рейтинг: 233
|
|||
nesco, А ты чего хотел для 32-х разрядного компилятора?
------------ Дoбавленo в 20.23: Можно определять компилятор Если FPC используем Win32 Api Delphi - WMI |
|||
карма: 1 |
|
Разработчик
Ответов: 26164
Рейтинг: 2127
|
|||
Ivann писал(а): А ты чего хотел для 32-х разрядного компилятора?Причем здесь компилятор, когда мы ищем процессы |
|||
карма: 22 |
|
Ответов: 3349
Рейтинг: 233
|
|||
WMI только пока на 100% отработал
------------ Дoбавленo в 20.31: nesco писал(а): Причем здесь компилятор, когда мы ищем процессы 32 разрядный компилятор компилирует 32-х разрядное приложение, которому WOW64 ограничивает кислород |
|||
карма: 1 |
|
Разработчик
Ответов: 26164
Рейтинг: 2127
|
|||
Ivann писал(а): 32 разрядный компилятор компилирует 32-х разрядное приложениеМожно подумать, этот же самый компилятор не компилирует код WMI |
|||
карма: 22 |
|
Ответов: 3349
Рейтинг: 233
|
|||
nesco писал(а): Можно подумать, этот же самый компилятор не компилирует код WMIА в FPC юзать Win32Api |
|||
карма: 1 |
|
Разработчик
Ответов: 26164
Рейтинг: 2127
|
|||
Ivann, как ты себе это представляешь
|
|||
карма: 22 |
|
Ответов: 3349
Рейтинг: 233
|
|||
nesco писал(а): NtQueryInformationProcess------------ Дoбавленo в 21.23: Все, я спать. Утро вечера мудренее.(с) |
|||
карма: 1 |
|
Разработчик
Ответов: 26164
Рейтинг: 2127
|
|||
Ivann писал(а): Все, я спатьА что так рано, и кто проверять будет Вот новая версия -- enumprocess_002.zip Ivann, давай ссылку на последнюю версию WMI-компонента |
|||
карма: 22 |
| ||
файлы: 1 | enumprocess_002.zip [5.2KB] [227] |
Ответов: 3889
Рейтинг: 362
|
|||
nesco писал(а): Можно подумать, этот же самый компилятор не компилирует код WMIТакой механизм выбран не случайно. WMI позволяет обращаться к вашей базе процессов из любой точки мира при условии настроенной сети и доступа, всё под контролем, типа |
|||
карма: 1 |
|
Разработчик
Ответов: 26164
Рейтинг: 2127
|
|||
1nd1g0 писал(а): Суть в том, что наше приложение через WMI лишь шлёт запрос к серверу виртуальной базы данныхСобственно говоря, сходным образом работает и NtQueryInformationProcess. Если я не ошибаюсь, то эта функция шлет запрос к базе данных процессов, так что, ей тоже должно быть по деревне разрядность и компилятор на нее не влияет. И вообще, компилятор не должен никак влиять на вызовы API функций, тк по сути -- WinAPI есть интерфейсная надстройка над системой. Все зависит от конечных модулей библиотек и функций, которые мы вызываем. Так что, утверждение Ivann писал(а): А ты чего хотел для 32-х разрядного компилятора?------------ Дoбавленo в 00.15: 1nd1g0, чувствуется влияние на вас ассемблера, когда от разрядности зависит весь код, что не скажешь о API, где мы используем высокоуровневые запросы к системе через адаптированные под нее библиотеки |
|||
карма: 22 |
|
Ответов: 3889
Рейтинг: 362
|
|||
nesco, ну, на низком уровне всё равно всё к одному сводится в итоге) Я догадываюсь, КАК реализована работа через localhost (при запросе интерфейса WMI это символ точки: "."). Буфер сетевых пакетов доступен на чтение и запись из любого адресного режима как разделяемый (shared) участок памяти. API у клиента и сервера РАЗНЫЕ, хотя и одноимённые, но пишут и читают виз одного пула пакетов. Не удивлюсь, если очередь сообщений тоже общая (что было бы логично), жаль нет сообщения-запроса "скажи свой родительский процесс" ) Хотя кто знает, может среди недокументированных и есть))
|
|||
карма: 1 |
|
Разработчик
Ответов: 26164
Рейтинг: 2127
|
|||
1nd1g0 писал(а): на низком уровне всё равно всё к одному сводится в итогеВ итоге -- да, но писано не нами и от нашего компилятора никак не зависящее |
|||
карма: 22 |
|
Ответов: 245
Рейтинг: 3
|
|||
nesco писал(а): Вот новая версия -- enumprocess_002.zipработает! на win 2000, xp 32, vista 32 и win7 32 win2000 xp 32 vista x32 win7 x32 не работает (выдает хрень) : xp 64 vista x64 win7 x64 также не работает на win 98 (вообще ничего не выдает) в отличие от версии wmi - та работает везде, кроме 2000 |
|||
карма: 0 |
|