Как отследить события мыши, используя user32.dll?

 
Подскажите, как отследить события мыши, используя user32.dll в эксперте? Ниже расписан один такт.
1. bool flag = false; Создаем объект MovingOBJ на графике в правом нижнем углу XY(10,10)
2. Выделяем его, цепляем его левой кнопкой мышки и сдвигаем его с места постоянной дислокации. Отпускаем левую кнопку мыши.
После отпускания кнопки мыши значение флага меняется на противоположное, объект возвращается на место.
Как отследить события мыши, используя user32.dll в бесконечном цикле ниже?
Детали по созданию и перемещению объектов не интересуют. Заранее спасибо.
void start() {
  while (1==1) {
  .....
  }//end_while
}
 
 

может проще отслеживать координаты перемещаемого объекта..

это будет куда как проще реализовать, чем то, что вы хотите..

 
Спасибо.
 
Попробовал IdleLib.dll. Нажатие и отпускание правой кнопки мыши отслеживает (516, 517), а левой только нажатие (513) :(  Или я не прав? Хотелось бы и  "left button up" использовать.   Есть какие-нибудь варианты?
 
логично попробывать 514
 
Нажимаю правую и держу(516), отпускаю (517). С левой не так. Нажимаю и держу (513), отпускаю ... ничего. При двойном клике левой (513, 515, 514)
 
Понял :) Оказалось все просто.
Причина обращения: