質問するログイン新規登録

質問編集履歴

2

情報の追加

2021/01/10 06:26

投稿

vibrato
vibrato

スコア52

title CHANGED
File without changes
body CHANGED
@@ -8,6 +8,9 @@
8
8
    if GetWindowText(GetForegroundWindow()) == "ゲーム名":
9
9
      pyautogui.press("1")
10
10
  ```
11
+ 試したゲーム名
12
+ ・セガNET麻雀MJ
13
+ ・Minecraft
11
14
 
12
15
  ### 試行結果
13
16
  エラーなし無反応(キー入力無し)
@@ -21,6 +24,31 @@
21
24
  pyautogui.moveTo(x,y)や
22
25
  pyautogui.press("キー"各種)のゲーム操作に関する部分は動作しない。
23
26
 
27
+ ### 追記(原因予測と試行中に起こった事象)
28
+ ゲーム画面で動作しない原因が
29
+ ・A[キーボード直接手入力]
30
+ ・B[pyautogui.press()でのコード入力]
31
+ の違いから起こるものと考えたのですが、それを確かめるために
32
+ [キーボード直接手入力とpyautogui.press()でのコード入力の違いを検知できる方法はありますでしょうか?](https://teratail.com/questions/315047)
33
+ という質問をさせていただきAとBで違いがあることを明確にできました。
24
34
 
35
+ 【新たに表れた問題点】
36
+ AとBの違いを検知している時に、起こった事象なのですが
37
+ ```python
38
+ import keyboard
39
+ while True:
40
+ if keyboard.is_pressed("esc"):
41
+ break
42
+ # aが押されるまで待つ。
43
+ keyboard.wait("a")
44
+ print("ハードウェアキーボードの'a'が押下されました。")
45
+ ```
46
+ 上記の質問で教えていただいたコードなのですが、
47
+ **ゲーム画面がアクティブの時だけキーボード直接手入力が検知できない**
48
+ ということが起こりました。単に「仮想キーまたは直接キー」の違いだけではない様です。
49
+
50
+
51
+
52
+
25
53
  改善方法はありますでしょうか?
26
54
  ご教授よろしくお願いいたします。

1

情報の追加

2021/01/10 06:25

投稿

vibrato
vibrato

スコア52

title CHANGED
File without changes
body CHANGED
@@ -15,6 +15,12 @@
15
15
  ### 原因調べた結果
16
16
  おそらくゲーム自体にキーボードからの手入力と、プログラムコード操作の違いを判別している?
17
17
 
18
+ ### その他試したこと
19
+ ゲームウインドウがアクティブの時
20
+ pyautogui.position()はポジションを取得しており正常に動作している。
21
+ pyautogui.moveTo(x,y)や
22
+ pyautogui.press("キー"各種)のゲーム操作に関する部分は動作しない。
18
23
 
24
+
19
25
  改善方法はありますでしょうか?
20
26
  ご教授よろしくお願いいたします。