Когда требуются специфические, но простые с точки зрения программирования решения, обычно отдельные программы никто не пишет, а используют скриптовые языки. Например, ваша задача решается следующим скриптом для
AutoHotkey:
*MButton::
click, middle
sleep, 200
return
Где 200 - в милисекундах минимальный интервал между допусками нажатия на кнопку.