Форум программистов, компьютерный форум CyberForum.ru

Получить список модулей указанного процесса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Промежуток между написанием строчек http://www.cyberforum.ru/cpp-beginners/thread641912.html
Я работаю через программу dev c++ и недавно я столкнулся с проблемой при написании следующего: cout<<rus(" Тут текст1")<<endl; cout<<rus(" Тут текст2")<<endl; Я хочу сделать так что бы после того как я скомпилировал и запустил программу мне написалось с определенным промежутко по времени. Допустим, открываю программу: Тут текст1 (И через секунд 5) Тут текст2 (И через 3 секунды) Тут...
C++ Выдает ошибку LNK2001 Ругается на 3 переменный типа static int - каждая находится в одном из классов. И используется для подсчета количества созданных копий. Исходник могу выложить, но он слегка запутан, да и комментарии я еще не все написал. http://www.cyberforum.ru/cpp-beginners/thread641906.html
почему не работает? C++
решил по практиковаться с выделением динамической памяти: почему не работает код: #include <iostream> using namespace std; int main() { int size; cin >> size;
C++ Печать листьев бинарного дерева
Всем привет! Решаю такую задачу: На входе - последовательность целых чисел, оканчивающаяся 0, который является символом завершения ввода. Надо построить бинарное дерево и вывести на печать все его листья (узлы без детей) в возрастающем порядке. Код написан, но все тесты программа не проходит. Кому не очень лень, посмотрите, пожалуйста, и скажите, где криво или подскажите, на каких...
C++ Условие задачи http://www.cyberforum.ru/cpp-beginners/thread641889.html
Здравствуйте уважаемые программисты. Вот задали задачу, а условия понять не могу. Задача: Даны натуральные числа n,m. Получить сумму m последних цифр числа n. Что именно нужно найти? Помогите пожалуйста. Я понимаю так, например: n = 250; m = 23; Последние цифры n -это 50. Тогда число 23 нужно сложить 50 раз само с собой. 23+23+23+23...=1150.
C++ Вывод нулей Здравствуйте!Есть число, типа unsigned short, нужно вывести его с незначащими нулями, используя std::hex. Помогите пожалуйста! Добавлено через 13 минут upd нашел вывод std::cout << std::hex << std::setw(4) << std::setfill('0') << number << std::endl; подробнее

Показать сообщение отдельно
Konctantin
 Аватар для Konctantin
919 / 723 / 63
Регистрация: 12.04.2009
Сообщений: 1,700
25.08.2012, 17:54  [ТС]     Получить список модулей указанного процесса
Скорее всего вы передаёте невалидный PID,
это исключено...

В общем как пишут забугорные форумы: нельзя вызывать/получить информацию о процессе х64 из процесса х32.
в итоге, функция по получению адреса базового модуля выглядит так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Gets the memory address where the base module was loaded.
DWORD GetBaseAddress(DWORD dwProcessID)
{
    DWORD dwAddress = NULL;
    HANDLE hthSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, dwProcessID);
    if (hthSnapshot) 
    {
        MODULEENTRY32 me = { sizeof(me) };
        if (Module32First(hthSnapshot, &me))
        {
            CloseHandle(hthSnapshot);
            dwAddress = (DWORD)me.modBaseAddr;
        }
    }
 
    return dwAddress;
}
ЗЫ. не пойму только почему все это не работало на х32 разрядной винде (
ЗЫЫ. Проверял на другом компе (с установленой VISTA 32)


Konctantin, а код случайно не в DLL зашит?
нет, это пока что все в исполняемом файле...
 
Текущее время: 19:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru