(AutoHotkey)(Win + Ctrl で マウスカーソルが指しているウインドウを移動開始する 編)

 こういうのを作っていると やっぱり 自分はせっかちなんだな と しみじみと思ってしまう 笑)
動かしたい ウインドウに マウスカーソルを合わせて ホットキーを押せば 移動開始、 ドラッグする必要もありません、マウスを動かすだけでOK
あとは マウスで 位置を調整してあげて 左クリックで 確定です
[]; 定数の値[]
[]NULL            := 0x0000[]
[]WM_SYSCOMMAND   := 0x0112[]
[]SC_MOVE         := 0xf010[]

[]<#LCtrl::[]
	[]; マウスカーソルがあるウインドウのハンドルを取得[]
[]	MouseGetPos, , , hWindow[]

	[]; デスクトップは移動できないというか 意味が無いので除外[]
[]	if ( WinExist("ahk_class Progman") == hWindow )[]
[]		Return[]

	[]; マウスカーソルがあるウインドウを アクティブにする[]
[]	WinActivate, ahk_id %hWindow%[]
	[]; 今回は 即座に次の処理に移る PostMessageを使います[]
	[]; SC_MOVE を 送って システムメニューの「移動(M)」を選んだことにします[]
[]	DllCall("user32.dll\PostMessage", "Int", hWindow, "Int", WM_SYSCOMMAND, "Int", SC_MOVE, "Int", NULL)[]
	[]; ウインドウが 「移動」状態になってから 一回以上 方向キーのどれかを押せば[]
	[]; マウスによるドラッグなしの 位置調整ができるようになる[]
[]	Send, {Right}[]
[]Return[]