○マウスの操作。
マウスの座標の取得、マウスの移動、
ボタンを押す、ボタンを離す、文字入力
ホイールの回転
などが操作できます。
#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++