画面の左上マウスカーソルでプログラム起動

解決


よっしー  2009-08-03 06:28:27  No: 142320

また変な質問かも知れませんがお聞きします。
VB6でもVB2008でも良いのですが、
Windowsに常駐してマウスカーソルが画面の左上にいくと、あるプログラムが起動すると言う物が欲しいのですが、出来るでしょうか?もしくは既にあるでしょうか?

カーソル位置を取得するのは以下に見つけたのですが、常駐となるとさっぱりわかりませんので、お聞きします。

Private Sub Form_Load()
  Dim Pos As Mxy
  Dim i As Integer
  GetCursorPos Pos
  Form1.Top = Screen.TwipsPerPixelY * Pos.y 'カーソルの位置にForm1表示
  Form1.Left = Screen.TwipsPerPixelX * Pos.x 'カーソルの位置にForm1表示
End Sub

'-------------------------------------------------------------
Declare Sub GetCursorPos Lib "user32" (lpmxy As Mxy)
  'カーソル位置格納領域
  Type Mxy
    x As Long
    y As Long
  End Type


Hongliang  2009-08-03 07:02:31  No: 142321

タイマで位置を定期的に確認すりゃいいんじゃないですか?
“常駐”の何が分からないのかは分かりませんが。


よっしー  2009-08-03 20:44:50  No: 142322

なんかわけもわからず常駐しちゃえらいことになるかもしれないじゃないすか〜
でもそう言って頂けたので、タイマーをつい知ったので、やってみました。
取りあえず0.5秒と設定してやってみましたら、まあ動きました。
とりあえず。
大変有り難う御座いました。やってみるものですね。

Private Sub Timer1_Timer()
    Dim Pos As Mxy
    Dim i As Integer
    GetCursorPos Pos
    If Pos.x < 10 And Pos.y < 10 Then
            If left_zpi = False Then
                Shell "C:\EMenu.exe", vbNormalFocus
            End If
            left_zpi = True
          Else
            left_zpi = False
    End If
End Sub


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加