をクリックして、私は現在のウィンドウにクリックをシミュレートすることができていますが、ウィンドウが最小化または非表示になっている場合、私はそれをやりたい、シミュレートは非表示ウィンドウに
をC#の問題を持っています。
アイデア?
をクリックして、私は現在のウィンドウにクリックをシミュレートすることができていますが、ウィンドウが最小化または非表示になっている場合、私はそれをやりたい、シミュレートは非表示ウィンドウに
をC#の問題を持っています。
アイデア?
ここでは、ウィンドウハンドルとターゲットサブウィンドウを表示し、そのサブウィンドウにメッセージを送信する完全に機能するスニペットを示します。
#include "TCHAR.h"
#include "Windows.h"
int _tmain(int argc, _TCHAR* argv[])
{
HWND hwndWindowTarget;
HWND hwndWindowNotepad = FindWindow(NULL, L"Untitled - Notepad");
if (hwndWindowNotepad)
{
// Find the target Edit window within Notepad.
hwndWindowTarget = FindWindowEx(hwndWindowNotepad, NULL, L"Edit", NULL);
if (hwndWindowTarget) {
PostMessage(hwndWindowTarget, WM_CHAR, 'G', 0);
}
}
return 0;
}
現時点では何もしない、新しいメモ帳を開きます(「無題」メモ帳G
文字を送信します。
をあなたは、Visual Studioに付属しているspy++
を使用してサブウインドウを見つけることができます。
マウスイベントを送信するようにSendInputを使用した例である。
#include "TCHAR.h"
#include "Windows.h"
int _tmain(int argc, _TCHAR* argv[])
{
POINT pt;
pt.x = 300;
pt.y = 300;
HWND hwndWindowTarget;
HWND hwndWindowNotepad = FindWindow(NULL, L"Untitled - Notepad");
if (hwndWindowNotepad)
{
// Find the target Edit window within Notepad.
hwndWindowTarget = FindWindowEx(hwndWindowNotepad, NULL, L"Edit", NULL);
if (hwndWindowTarget) {
PostMessage (hwndWindowTarget, WM_RBUTTONDOWN, 0, (pt.x) & ((pt.y) << 16));
PostMessage (hwndWindowTarget, WM_RBUTTONUP, 0, (pt.x) & ((pt.y) << 16));
}
}
return 0;
}
C++の回答は受け入れますか?私はC + +スニペットを持っていますが、現時点ではC#ではありません。 – Serdalis
はい、C++も良いです:)しかし、ウィンドウのハンドルを取得する必要がありますが、それは問題ありません。 – tlovidiu
[マウスクリックイベントを隠しウィンドウに送信する方法は?](http: //stackoverflow.com/questions/1621274/how-to-send-a-mouse-click-event-to-a-hidden-window) – Reniuz