
VB6かUWSCにて、フォーカスを移さずにクリックさせる方法がありましたら教えてください。
ネットで拾ってくるクリックをしてくれるフリーソフト(例えばGlobalShortcutHelper)の中には、
クリックをした後にそのクリックされたプログラム(たとえばブラウザなど)に
フォーカスが移らないものがあります。
そのようなプログラムを組む方法がありましたら教えてください。
擬似的に元のカーソル座標へ戻るようにプログラムしてみましたが
プログラム間の切り替えが明らかに発生しており、望むような結果にはなりませんでした。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
まず、UWSC では不可能です。
VB6 ではできないことは無いような気がしますが、相当しんどいです。
このような要件のサンプルプログラムは、ほとんど C++ ですので、C++ を読んでVB6に翻訳する技術力があれば、可能です。……最初から C++ で作ったほうが早そうな気がしますが。
技術的には、以下の API で実現できます。しかし、この API を VB6 から呼び出すのは大変です。
PostMessage(h, WM_LBUTTONDOWN, 0, MakeLParam(p.X, p.Y));
この回答への補足
VB6にて以下のように作ってみました。
FormにCommandボタンを貼り付けた状態です。
コマンドボタンをクリックするとフォームの右上座標の下にある
ウィンドウのハンドルを取得して、その座標をクリックさせる・・・
というつもりで作ったのですが、うまく動きません。
ハンドルは数字でちゃんと取得できています。
座標も取得できています。
クリック(DOWN後にUP)がされないです。
よろしければ、アドバイスをください。
=================================
Option Explicit
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
Private Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Sub Command1_Click()
Dim hTargetWnd As Long
Dim lParam As Long
Dim lx As Long
Dim ly As Long
lx = Me.Left / 15
ly = Me.Top / 15
hTargetWnd = WindowFromPoint(lx - 1, ly - 1)
lParam = (ly * &H10000) + lx
Call SendMessage(hTargetWnd, WM_LBUTTONDOWN, 0&, lParam)
Call SendMessage(hTargetWnd, WM_LBUTTONUP, 0&, lParam)
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルの開き方
-
あるプログラムのコマンドライ...
-
TMBMSRV.exeによるCPU使用率上昇
-
VBAでユーザーフォームが自動的...
-
読み込み中にアクセス違反が発...
-
binファイルってiphone専用です...
-
ドロップダウンリストの文字を...
-
VBAにてメール作成した際、一部...
-
OS入ってる機器のソフト・アプ...
-
Dドライブ、アンインストール
-
VBで環境変数をSETする方法
-
Excelで4096点以上のFFTの方法
-
Altiris Client Serviceって?
-
「Outlookが他のプログラムによ...
-
エクセルとワードをデスクトッ...
-
powered byの表記について
-
C言語でプロセスをWAITさせる方...
-
XnViewにwebpを「いつも開く」...
-
.netプログラミングで全画面表...
-
COMポートが開けません。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
銃を発砲するならともかく、日...
-
Excelで4096点以上のFFTの方法
-
VBAにてメール作成した際、一部...
-
読み込み中にアクセス違反が発...
-
OS入ってる機器のソフト・アプ...
-
PICマイコンのコピー(クローン...
-
Vba UserFormを前面に出す方法...
-
未使用の変数を一括検索する方法
-
ドロップダウンリストの文字を...
-
powered byの表記について
-
VBAでユーザーフォームが自動的...
-
XnViewにwebpを「いつも開く」...
-
「Outlookが他のプログラムによ...
-
Excelに埋め込んだVBAのプログ...
-
自動クエリとはどういうもので...
-
UWSCで指定のフォルダを開きたい。
-
TMBMSRV.exeによるCPU使用率上昇
-
バッチ、vbs等でのソフトウェア...
-
Pro*Cで動的SQLを実現する為の...
おすすめ情報