2020年05月10日

「マウスふるふる」マウス移動イベントだけでなく、座標設定のAPIも呼び出した版の公開について

昨日付で、「マウスふるふる ver.1.14.08β」を公開しています。

ダウンロードはトップページからどうぞ。

更新内容としては、先日のブログで書いた、マウス移動イベントだけでなく座標変更を維持するようなモードの追加となります。

20200508_MOUSEFR_ss2.png

設定ダイアログに「マウスの揺らし方」を新設し、「揺れが目で見てわかるように揺れ幅を大きくする」を吸収しました。
また、選択肢として「1ピクセル分揺らし次のタイミングまでそのまま」を追加しました。
これは、マウス座標を認識して離席等を判定するアプリ向けのモードということになります。



このベータ版に同梱するPowerShell版のスクリプトについても、更新しています。
こんな感じの内容です。

# マウスふるふる(PowerShell版) ver.2.0  (C)2020 INASOFT/T.Yabuki
# 50秒おきに、マウスを微妙に左右に揺らし、スクリーン セーバー等への移行の阻止を試みます。
# Ctrl+C を押すか、[×]ボタンを押すと終了。

# .NETのCursorクラスを利用するためにSystem.Windows.Formsをロード
add-type -AssemblyName System.Windows.Forms

$signature=@'
      [DllImport("user32.dll",CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
      public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);
'@

$SendMouseEvent = Add-Type -memberDefinition $signature -name "Win32MouseEventNew" -namespace Win32Functions -passThru

echo "Ctrl+Cで終了します。"

# マウス移動
$MOUSEEVENTF_MOVE = 0x00000001

# スリープ秒数
$SleepSec = 50

# マウスの振れ幅
# ・マウスの移動イベント生成用の振れ幅
$MoveMouseDistance = 1
# ・マウスの座標を左右にずらす用の振れ幅
$MoveMouseDistanceX = 1

# 偶数回数目は左へ、奇数回数目で右へずらすためのフラグ
$Flag = $true

# 永久ループ
while ($true) {
    # スリープ
    Start-Sleep $SleepSec

    # 現在のマウスのX,Y座標を取得
    $x = [System.Windows.Forms.Cursor]::Position.X
    $y = [System.Windows.Forms.Cursor]::Position.Y

    # マウス座標を少しずらす(マウスイベントを監視するOS(スクリーンセーバー、スリープ)対策)
    $SendMouseEvent::mouse_event($MOUSEEVENTF_MOVE, -$MoveMouseDistance, 0, 0, 0)

    # マウス座標を少し右にずらす(マウスイベントを監視するOS(スクリーンセーバー、スリープ)対策)
    $SendMouseEvent::mouse_event($MOUSEEVENTF_MOVE, $MoveMouseDistance, 0, 0, 0)

    # 座標を監視するアプリ対策(座標を左か右に1ピクセル分ずらすだけにする)
    if ($Flag) {
        $x += $MoveMouseDistanceX
        $Flag = $false;
    }
    else {
        $x -= $MoveMouseDistanceX
        $Flag = $true
    }
    [System.Windows.Forms.Cursor]::Position = new-object System.Drawing.Point($x, $y)
    $x = [System.Windows.Forms.Cursor]::Position.X
    $y = [System.Windows.Forms.Cursor]::Position.Y
}

この内容をコピペでご活用ください。

mousefr.ps1というファイル名で保存し、マウスで右クリック→「PowerShellで実行」で実行してください。


このような画面が出たら実行開始です。50秒おきに非常にわずかにマウスが左右に揺れます。
[×]ボタンを押すか、このウィンドウをアクティブにしてCtrl+Cを押すと終了します。


posted by ayacy at 00:00 | Comment(0) | TrackBack(0) | フリーソフト
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/187469667
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック