Хоча миша - і важливий пристрій введення даних для додатків, не кожен користувач обов'язково має миша. Прикладна програма може з'ясувати, чи включає в себе система миша, передаючи значення SM_MOUSEPRESENT в функцію GetSystemMetrics.
Windows підтримує миша, що має до трьох кнопок. У трьохкнопковою миші, кнопки визначаються як ліва, середня і права. Повідомлення і іменовані константи, пов'язані з кнопками миші, використовують букви L. М і R. щоб ідентифікувати кнопки. Кнопка у однокнопочні миші розглядається, як ліва кнопка. Хоча Windows підтримує миша з декількома кнопками, більшість програм перш за все використовують ліву кнопку, а інші мінімально, або взагалі не використовують.
Починаючи з Windows98 і MicrosoftWindowsNT®4.0. прикладні програми можуть також підтримувати і коліщатко миші (mouse wheel). Коліщатко миші може знаходитесь у скрутному становищі або обертатися. Коли коліщатко миші натискається, воно діє як середня (третя) кнопка, відправляючи звичайні для середньої кнопки повідомлення в вашу програму. Коли воно обертається, повідомлення коліщатка відправляється в вашу програму. Додаткову інформацію, див. В статті Коліщатко миші.
Додаток може з'ясувати число кнопок у миші, передаючи значення SM_CMOUSEBUTTONS в функцію GetSystemMetrics. Щоб настроїти миша для користувача - лівші, програма може використовувати функцію SwapMouseButton. щоб змінити на протилежне призначення лівої та правої кнопок миші. Передача значення SPI_SETMOUSEBUTTONSWAP в функцію SystemParametersInfo - ще один спосіб змінити на протилежне призначення кнопок.
Однак, Зверніть увагу! на те, що миша - це спільний ресурс, так що зміна призначення кнопок впливає на всі прикладні програми.