Сразу скажу - с прехватом API и хуками до этого я не связывался.Inik писал(а):угу а эта программка чисто для теста.
Вот что мне видится: внедряться в dll необходимо для каждого процесса! Для этого и используется SetWindowsHookEx с параметром
WH_GETMESSAGE, но в вашей тестовой программе нет ни окна ни обработчика сообщений, а ведь:
WH_GETMESSAGE
Windows вызывает этот хук перед выходом из функций GetMessage и PeekMessage. Фильтрующие функции получают указатель на структуру с сообщением, которое затем (вместе со всеми изменениями) посылается приложению, вызвавшему GetMessage или PeekMessage. В lParam находится указатель на структуру MSG:
typedef
struct tagMSG { /* msg */
HWND hwnd; // Окно, чья Winproc получит сообщение
UINT message; // Номер сообщения
WPARAM wParam;
LPARAM lParam;
DWORD time; // Время посылки сообщения
POINT pt; // Позиция указателя мыши (в экранных координатах)
// для этого сообщения
} MSG;
Попробуйте написать для проверки что нить на дельфи =) С главным окном и т.п., не консольное =) которе и будет вызывать GetVolumeInformation