Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2013, 17:26   #1
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию путь до исполняемого файла || LowLevelKeyboardProc как метод класса

Код:
fSnapShotHandle = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE32 | TH32CS_SNAPMODULE, procID);
	fModuleEntry32.dwSize = sizeof (MODULEENTRY32);
	continueLoop = Module32First(fSnapShotHandle, &fModuleEntry32);

	while (continueLoop && (pExePath == nullptr ))
	{
		if (fModuleEntry32.th32ProcessID == procID) 
		{
			pExePath = fModuleEntry32.szExePath;
			break;
		}
		continueLoop = Module32Next(fSnapShotHandle,	&fModuleEntry32);
	}
вот такая конструкция работает в XP-32.
В Win7-64 в общем тоже работает, но если ищется путь до исполняемого файла окна проводника ("C:\Windows\explorer.exe"), то возвращается пусто.
Это как то связано с 64битностью?

И второе, по поводу APIшных ***Proc() и стандарта С++:

Хочу для эстетики засунуть все, касающееся хука, в единый класс. Не получается.

Как понял из error'ов про несовместимости типов, они должны быть объявлены как statiс. Но я что-то не понимаю, как из статичной функции достучаться до динамических свойств. Или хотя бы вызвать
Smogg вне форума Ответить с цитированием
Старый 10.01.2013, 01:00   #2
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Цитата:
вот такая конструкция работает в XP-32.
В Win7-64 в общем тоже работает, но если ищется путь до исполняемого файла окна проводника ("C:\Windows\explorer.exe"), то возвращается пусто.
Это как то связано с 64битностью?
Читаем доки:
Цитата:
szExeFile
The name of the executable file for the process. To retrieve the full path to the executable file, call the Module32First function and check the szExePath member of the MODULEENTRY32 structure that is returned. However, if the calling process is a 32-bit process, you must call the QueryFullProcessImageName function to retrieve the full path of the executable file for a 64-bit process.
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск исполняемого файла bibika Помощь студентам 0 14.03.2012 10:31
библиотеки и размер исполняемого файла DrStrangeLove Помощь студентам 5 25.12.2011 05:37
Создание файла через метод класса Yami_Yami Общие вопросы Delphi 3 26.09.2010 16:15
[WPF]Получить путь к исполняемому файлу включая имя исполняемого файла. Casper-SC Общие вопросы .NET 3 26.07.2010 03:27
Создание исполняемого EXE-файла Jean-Esther Помощь студентам 5 03.03.2009 21:52