C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[3]: 対象ウィンドウへのメッセージ送信
(過去ログ 137 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 4 記事 (1 - 4 表示)] <<
0
>>
■80752
/ inTopicNo.1)
対象ウィンドウへのメッセージ送信
▼
■
□投稿者/ Altair
(1回)-(2016/08/08(Mon) 22:59:40)
分類:[C#]
質問させていただきます。
開発環境はvlsual studio 2015
.NET framework 4.5.2です。
パソコンでのゲームを他ウィンドウから操作したいと考えています。
SPY++で上矢印、下矢印のメッセージを確認したところ
上が
<000380> 000E0C88 P WM_KEYDOWN nVirtKey:VK_UP cRepeat:1 ScanCode:48 fExtended:1 fAltDown:0 fRepeat:0 fUp:0
<000381> 000E0C88 S WM_GETDLGCODE
<000382> 000E0C88 R WM_GETDLGCODE fuDlgCode:DLGC_WANTARROWS | DLGC_WANTTAB | DLGC_WANTALLKEYS | DLGC_WANTCHARS
<000383> 000E0C88 S WM_GETDLGCODE
<000384> 000E0C88 R WM_GETDLGCODE fuDlgCode:DLGC_WANTARROWS | DLGC_WANTTAB | DLGC_WANTALLKEYS | DLGC_WANTCHARS
<000385> 000E0C88 P WM_KEYUP nVirtKey:VK_UP cRepeat:1 ScanCode:48 fExtended:1 fAltDown:0 fRepeat:1 fUp:1
となり、下が
<000374> 000E0C88 P WM_KEYDOWN nVirtKey:VK_DOWN cRepeat:1 ScanCode:50 fExtended:1 fAltDown:0 fRepeat:0 fUp:0
<000375> 000E0C88 S WM_GETDLGCODE
<000376> 000E0C88 R WM_GETDLGCODE fuDlgCode:DLGC_WANTARROWS | DLGC_WANTTAB | DLGC_WANTALLKEYS | DLGC_WANTCHARS
<000377> 000E0C88 S WM_GETDLGCODE
<000378> 000E0C88 R WM_GETDLGCODE fuDlgCode:DLGC_WANTARROWS | DLGC_WANTTAB | DLGC_WANTALLKEYS | DLGC_WANTCHARS
<000379> 000E0C88 P WM_KEYUP nVirtKey:VK_DOWN cRepeat:1 ScanCode:50 fExtended:1 fAltDown:0 fRepeat:1 fUp:1
でした。
メッセージ送信系はほとんどわからない状態なのですが、これはpostmessageで対象ウィンドウに上のメッセージを送れば動作するものなのでしょうか?
その場合どのように記述すればいいのでしょうか?
全くわからないため、どうかよろしくお願いします。
引用返信
編集キー/
編集
■80753
/ inTopicNo.2)
Re[1]: 対象ウィンドウへのメッセージ送信
▲
▼
■
□投稿者/ Azulean
(675回)-(2016/08/09(Tue) 06:31:18)
■
No80752
( Altair さん) に返信
> メッセージ送信系はほとんどわからない状態なのですが、これはpostmessageで対象ウィンドウに上のメッセージを送れば動作するものなのでしょうか?
> その場合どのように記述すればいいのでしょうか?
ウィンドウメッセージを送るアプローチを使った場合だと、動くケースもあれば、動かないケースもあります。
理由はゲーム側の実装によって、メッセージでキー入力を察知しているケースもあれば、別の方法で察知しているケースもあるためです。
その他、オンラインゲームの一部ではツールなどによる不正操作予防のため、他のプロセスからの入力行為を排除しているケースもあります。
最近、同じような話題が下記のスレッドでもありましたが、そちらに書かれているようなキーワードでまず調査してみてください。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=80558
引用返信
編集キー/
編集
■80762
/ inTopicNo.3)
Re[2]: 対象ウィンドウへのメッセージ送信
▲
▼
■
□投稿者/ Altair
(1回)-(2016/08/09(Tue) 21:14:02)
返信ありがとうございます。
SendInput, keybd_event, GetAsyncKeyStateについて調べてみます。
オンラインゲームではなく、また10年以上前のオープンソースのものなので、変な外部対策はしていないと思うのですが、
その場合はウィンドウメッセージを送れば動くのでしょうか?
引用返信
編集キー/
編集
■80765
/ inTopicNo.4)
Re[3]: 対象ウィンドウへのメッセージ送信
▲
▼
■
□投稿者/ Azulean
(676回)-(2016/08/09(Tue) 22:29:41)
■
No80762
(Altair さん) に返信
> オンラインゲームではなく、また10年以上前のオープンソースのものなので、変な外部対策はしていないと思うのですが、
> その場合はウィンドウメッセージを送れば動くのでしょうか?
ウィンドウメッセージを受けて動いているだけならそうですが、GetAsyncKeyState などを用いてキーの押下状態を関数で取得しているような実装ならメッセージだけでは足りません。
正直、やってみないとわからないとしか言えません。
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-