ボタンをプログラムからクリックするには BM_CLICK を使います
これをボタンに送れば、ボタンは WM_LBUTTONDOWN と
WM_LBUTTONUP メッセージを受け取ります
BM_CLICK のパラメータは両方とも 0 です
また、このメッセージに戻り値はありません
また、プッシュボタンが押された時の強調表示をシュミレーションする場合
BM_SETSTATE メッセージを使います
#include <windows.h>
HWND button;
LRESULT CALLBACK WndProc(HWND hwnd , UINT msg , WPARAM wp , LPARAM lp) {
switch (msg) {
case WM_DESTROY:
PostQuitMessage(0);
return 0;
case WM_COMMAND:
MessageBox(hwnd , TEXT("Kitty on you lap") , TEXT("") , MB_OK);
return 0;
case WM_RBUTTONDOWN:
SendMessage(button , BM_CLICK , 0 , 0);
return 0;
case WM_KEYDOWN:
SendMessage(button , BM_SETSTATE , TRUE , 0);
return 0;
case WM_KEYUP:
SendMessage(button , BM_SETSTATE , FALSE , 0);
return 0;
}
return DefWindowProc(hwnd , msg , wp , lp);
}
ネタ元