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

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

C# と VB.NET の入門サイト

Re[2]: ホットキーを使って、アプリをアクティブにしたい vb.net


(過去ログ 176 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■101388 / inTopicNo.1)  ホットキーを使って、アプリをアクティブにしたい vb.net
  
□投稿者/ ガンダーラ (6回)-(2023/02/16(Thu) 08:07:11)

分類:[.NET 全般] 

いつもお世話になります

vb.netで簡単なランチャーアプリを作っています
(テキストにパスを登録して、数字キーで開く)

アプリがアクティブでないときに
ホットキーを使ってアプリをアクティブにしたいのですが
普通のキーで呼び出すことには成功しました
(装飾キーの同時押し)
(矢印や無変換などは無理でした)


フリーソフトなどで
Shiftキーの連打 や コントロールキーの連打などで
アプリを呼び出せるランチャーソフトがあるのですが
他のアプリに迷惑をかけない形で
vb.netでこのような操作は可能でしょうか?


ホットキーでやりたいことは
起動済で最前面にいないアプリを最前面に表示することです


引用返信 編集キー/
■101389 / inTopicNo.2)  Re[1]: ホットキーを使って、アプリをアクティブにしたい vb.net
□投稿者/ radian (110回)-(2023/02/16(Thu) 09:01:12)
2023/02/16(Thu) 09:18:13 編集(投稿者)

No101388 (ガンダーラ さん) に返信
> フリーソフトなどで
> Shiftキーの連打 や コントロールキーの連打などで
> アプリを呼び出せるランチャーソフトがあるのですが
> 他のアプリに迷惑をかけない形で
> vb.netでこのような操作は可能でしょうか?
>
>
> ホットキーでやりたいことは
> 起動済で最前面にいないアプリを最前面に表示することです

他のアプリに迷惑をかけない形でってのがよく分かりませんが、
グローバルキーフックでどうにかならないですかね。
連打じゃなければRegisterHotKeyで良さそうですけど。

[C# - グローバルキーフックでキーの捕捉と入力を行う]
https://aonasuzutsuki.hatenablog.jp/entry/2018/10/15/170958

"グローバルキーフック" "グローバル キーボード フック" 辺りで検索すると、他のサイトも引っかかると思うので色々探してみてください。
引用返信 編集キー/
■101390 / inTopicNo.3)  Re[1]: ホットキーを使って、アプリをアクティブにしたい vb.net
□投稿者/ 魔界の仮面弁士 (3564回)-(2023/02/16(Thu) 09:27:05)
No101388 (ガンダーラ さん) に返信
> アプリがアクティブでないときに
> ホットキーを使ってアプリをアクティブにしたいのですが

要件によって、いくつかの選択肢がありますが、自分はこのあたりを使うかな…。
Shift キー連打とかは、2 では検出できますが 1 だと駄目。

1. RegisterHotKey API + WM_HOTKEY メッセージ
https://learn.microsoft.com/ja-jp/windows/win32/api/winuser/nf-winuser-registerhotkey
https://smdn.jp/programming/tips/activate_window_by_hotkey/
http://hisk2tmem.blog61.fc2.com/blog-entry-21.html


2. DirectInput の協調レベル(SetCooperativeLevel)に Background と NonExclusive を指定して、
 キーボードデバイス(マウスやジョイスティックでもも可)の入力を捉える
http://konbiki.starfree.jp/Old/mouse/index.html
https://www.baku-dreameater.net/entry/2020/02/17/234745
引用返信 編集キー/
■101400 / inTopicNo.4)  Re[2]: ホットキーを使って、アプリをアクティブにしたい vb.net
□投稿者/ ガンダーラ (7回)-(2023/02/17(Fri) 05:14:48)
2023/02/18(Sat) 07:16:48 編集(投稿者)

No101390 (魔界の仮面弁士 さん) に返信

ありがとうございます
連打での起動はちょっと難しそうですね

ホットキーによるアクティブ化はご提示いただきました下記のページを参考にしました

https://smdn.jp/programming/tips/activate_window_by_hotkey/

気になるのが

Unregister

でレジストリから削除するようなのですが
アプリが強制終了などした場合、ずっとレジストリにゴミが残りそうな気がします
そのような心配はいらないものなのでしょうか?
追加の質問となり申し訳ありませんが、ご教授いただけませんでしょうか


※OSの再起動できれい消えてしまうようなものと想像していますが
 消えないのならパソコンに致命的な影響を与えてしまいそうで心配です



> radian さま

やっぱり連打は難しそうなのですね、
ありがとうございます

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -