C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.85535 の関連記事表示

<< 0 >>
■85535  キーボード操作に関する質問
□投稿者/ たこ兵 -(2017/11/03(Fri) 21:00:38)

    分類:[.NET 全般] 


    OBSというキャプチャソフトでF9キーに録画開始のショートカットキーを割り当てています。

    これをVB.NETを使って、操作したいと考えています。

    キーボードの操作に関しては
    https://dobon.net/vb/dotnet/vb6/sendkeys.html

    SendKeys.Send("{F9}")

    で行うことができるはずです。
    しかし、これを実行してもうまくいきません。
    どうもデフォルトの状態だとフォーム内でしかキーが有効になっていないようです。
    https://dobon.net/vb/dotnet/form/keypreview.html

    このページに他のフォームが受け取れるコードが書かれてあり、
    試してみましたが、他のソフトウェアでは受け取ることができませんでした。

    一体、どうすればうまくいきますか?

    あと、ボタンを押す時間なども調整できるのでしょうか?

    よろしくお願いいたします。




親記事 /過去ログ146より / 関連記事表示
削除チェック/

■85536  Re[1]: キーボード操作に関する質問
□投稿者/ Azulean -(2017/11/03(Fri) 21:20:38)
    No85535 (たこ兵 さん) に返信
    > しかし、これを実行してもうまくいきません。
    > どうもデフォルトの状態だとフォーム内でしかキーが有効になっていないようです。

    このコードを呼んだときに、アクティブなウィンドウ(フォーム)に対して送信すると捉えてください。
    たとえば、あなたのプログラムの Button1 をクリックしたときのイベントにそのコードを書いている場合、あなたのプログラムがアクティブになっていますので、あなたのプログラムに送られます。

    参照されているページに「補足」で書いてあることも調べてください。
    https://dobon.net/vb/dotnet/vb6/sendkeys.html
記事No.85535 のレス /過去ログ146より / 関連記事表示
削除チェック/

■85537  Re[2]: キーボード操作に関する質問
□投稿者/ たこ兵 -(2017/11/03(Fri) 21:56:55)
    No85536 (Azulean さん) に返信

    ありがとうございます。
    OBSに関してですが、
    ウインドウがアクティブになっていなくとも
    F9のショートカットキーを押せば動作するのですが
    VBのコードの場合には、アクティブにしないといけないのでしょうか?
    アクティブにせずとも動作させることはできないでしょうか?
     
記事No.85535 のレス /過去ログ146より / 関連記事表示
削除チェック/

■85538  Re[3]: キーボード操作に関する質問
□投稿者/ Azulean -(2017/11/03(Fri) 22:51:02)
    2017/11/03(Fri) 22:53:10 編集(投稿者)

    No85537 (たこ兵 さん) に返信
    > OBSに関してですが、
    > ウインドウがアクティブになっていなくとも
    > F9のショートカットキーを押せば動作するのですが
    > VBのコードの場合には、アクティブにしないといけないのでしょうか?
    > アクティブにせずとも動作させることはできないでしょうか?

    そのキャプチャソフトの実装と、あなたが書いているコードに依存する話なので、第三者にコメントは難しいかと。
    いろいろと実験してなぜ期待通りにならないのかを探っていくことが必要となるでしょう。
記事No.85535 のレス /過去ログ146より / 関連記事表示
削除チェック/

■85539  Re[4]: キーボード操作に関する質問
□投稿者/ たこ兵 -(2017/11/03(Fri) 23:12:51)
    No85538 (Azulean さん) に返信

    すいません、言い忘れましたが、
    以前、VBAで作った
    Application.SendKeys "{F9 5}"

    というコードだとうまく動作しました
    VB.NETだとどうすれば良いですか?

    http://hanatyan.sakura.ne.jp/patio/read.cgi?no=245

    このページにあるAPIも使ってみましたが
    うまくいきませんでした。
     
記事No.85535 のレス /過去ログ146より / 関連記事表示
削除チェック/

■85541  Re[5]: キーボード操作に関する質問
□投稿者/ たこ兵 -(2017/11/04(Sat) 09:57:23)


    OBSのウインドウハンドルを取得しウインドウをアクティブ化してみましたが
    なぜかうまくいきませんでした。
    メモ帳へのキー入力ならうまくいくので、プログラム自体は間違っていないようなのですが・・・

    VBAのコードだとできるのであれば
    VB.NETでできないはずはないと思うのですが・・・
    どなたかご教授下さい。
     
記事No.85535 のレス /過去ログ146より / 関連記事表示
削除チェック/

■85546  Re[6]: キーボード操作に関する質問
□投稿者/ たこ兵 -(2017/11/04(Sat) 15:28:53)
    keybd_eventでうまくいきました。

    keybd_eventと SendKeys.Sendは一体何が違うのでしょうか・・・???
     
記事No.85535 のレス /過去ログ146より / 関連記事表示
削除チェック/

■85552  Re[7]: キーボード操作に関する質問
□投稿者/ Azulean -(2017/11/05(Sun) 16:27:42)
    No85546 (たこ兵 さん) に返信
    > keybd_eventと SendKeys.Sendは一体何が違うのでしょうか・・・???

    SendKeys.Send はデフォルトでフックプロシージャーを使ったキー入力の動作となっているようです。
    keybd_event とは仕組みが違います。

    下記のページの「メモ」にあるように、app.config に SendInput を使うように指示すれば、SendKeys でも動くかもしれませんね。
    https://msdn.microsoft.com/ja-jp/library/system.windows.forms.sendkeys.send%28v=vs.100%29.aspx
記事No.85535 のレス /過去ログ146より / 関連記事表示
削除チェック/

■85573  Re[8]: キーボード操作に関する質問
□投稿者/ たこ兵 -(2017/11/07(Tue) 09:40:53)


    app.configの方は試していませんが
    非常に勉強になりました。
    ありがとうございます。
記事No.85535 のレス / END /過去ログ146より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -