○マウスの操作。

マウスの座標の取得、マウスの移動、
ボタンを押す、ボタンを離す、文字入力
ホイールの回転
などが操作できます。

#include <windows.h>

int main(){

	POINT pt;
	//マウスの現在の座標を取得する
	GetCursorPos(&pt);

	//マウスの位置を+10移動する
	SetCursorPos(pt.x+10,pt.y+10);

	//マウスの左ボタンを押す 右はMOUSEEVENTF_RIGHTDOWN 中央はMOUSEEVENTF_MIDDLEDOWN
	mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);

	//マウスの左ボタンを離す
	mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

	//ホイールを下向きに回す
	mouse_event(MOUSEEVENTF_WHEEL,0,0,-1,0);

	//ホイールを上向きに回す
	mouse_event(MOUSEEVENTF_WHEEL,0,0,1,0);

	//文字を入力
	//HWND hWnd = WindowFromPoint(pt);
	//SendMessage(hWnd,WM_SETTEXT,0,(LPARAM)"文字列");

	return 0;
}


ただ、横ホイール(横スクロール)がmouse_eventには無いから自分で作り出す
しかないみたいです。(あったみたいだから下の方に記載)
それぞれ、人によって考え方が違うと思いますがこのようにすると横スクロールが
出来ます、まあ力ずくですがw
応用するとありとあらゆる操作ができます(普通マウスでは出来ない操作とかw)

POINT pt;
GetCursorPos(&pt);
HWND hWnd_pos = WindowFromPoint(pt);//マウス座標のハンドルを取得する
//左スクロール
PostMessage(hWnd_pos,WM_HSCROLL, (WPARAM)MAKEWPARAM(SB_LINEUP,0),(LPARAM)0);
//右スクロール
PostMessage(hWnd_pos,WM_HSCROLL, (WPARAM)MAKEWPARAM(SB_LINEDOWN,0),(LPARAM)0);


てゆうか俺のVC6には無いだけ?なのかmouse_eventに横スクロールのMOUSEEVENTF_HWHEEL
があるそうです。

無ければ、

#define MOUSEEVENTF_HWHEEL 0x01000

でむりやり作り出して、

mouse_event(MOUSEEVENTF_HWHEEL,0,0,-1,0);
とか
mouse_event(MOUSEEVENTF_HWHEEL,0,0,1,0);
とかすると横スクロールします。

ああ、なんてこった。
新しいVisualStudioほしい。


▲トップページ > Windows と C++