質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

6098閲覧

キーコードの送信SendKeys.SendWaitについて

Qoo

総合スコア1249

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2020/07/11 02:29

WINODWS向けで別のアプリケーションに対して
SendKeys.SendWaitを使って、キーコードを送信したいのですが
別のアプリケーションをアクティブウインドウにせずに
バックグランドのまま、キーコードを送信する方法を探しております

もし、ご存知の方がいらっしゃればアドバイスいただけると嬉しいです。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

SendKeyメソッドではできなかったように思います。
Win32APIを使ってプロセスを取得しキー情報を送信する必要があるようです。
参考サイト:stackoverflow
以下上記参考サイトより抜粋

c#

1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Runtime.InteropServices; 6using System.Windows.Forms; 7 8namespace keybound 9{ 10class WindowHook 11{ 12 [DllImport("user32.dll")] 13 public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); 14 [DllImport("user32.dll")] 15 public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); 16 [DllImport("user32.dll")] 17 public static extern IntPtr PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); 18 19 public static void sendKeystroke(ushort k) 20 { 21 const uint WM_KEYDOWN = 0x100; 22 const uint WM_SYSCOMMAND = 0x018; 23 const uint SC_CLOSE = 0x053; 24 25 IntPtr WindowToFind = FindWindow(null, "Untitled1 - Notepad++"); 26 27 IntPtr result3 = SendMessage(WindowToFind, WM_KEYDOWN, ((IntPtr)k), (IntPtr)0); 28 //IntPtr result3 = SendMessage(WindowToFind, WM_KEYUP, ((IntPtr)c), (IntPtr)0); 29 } 30} 31}

stackoverflowの引用規約?に基づいてstackoverflow上での質問者と回答者も記載しておきます。
質問者(hydra) / 回答者(louisbob)

投稿2020/07/11 03:39

PgMidori

総合スコア184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2020/07/11 03:50

正確な「stackoverflowの引用規約?」については恥ずかしながら私は知りませんでした。(質問者、回答者を付記していなかった。これから気を付けねば。。。) 併せて高評価を付けさせていただきました。
PgMidori

2020/07/11 04:03

僕も今回ふと疑問に思って調べてみるまで知りませんでした。。 引用する際は引用元のルールを(必ずあるとは限りませんが)調べる癖をつけないといけないですね
SHOMI

2020/07/11 05:59

Stack Overflowの引用規約を知る事ができたので高評価。 質問者と回答者へのリンクも必要とは思っていませんでした。
Zuishin

2020/07/11 06:08

cc-wiki に引用する時の話だと思いますよ。回答にリンクを張れば質問者も回答者もわかるので、そこまで面倒な手続きは要らないと思います。
Zuishin

2020/07/11 06:11

すみません。よく読むと私が間違っていました。しかし面倒ですね。何かしら自動化の方法がほしいところです。
PgMidori

2020/07/11 06:35

良く引用されるサイトだと思うので、規約に則った形でクリップボードにコピーしてくれる引用ボタンのようなものがあると有り難いかもしれないですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問