アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB.NETなのですが、Visible=Falseでフォームを見えないようにして
他のアプリを使用中でもキー入力を受け付けて、
そのキーに応じた動作をするプログラムを考えているのですが、
フォームがない状態でキーを受け付けるということはできるでしょうか?
大まかな方法でもかまいませんので、教えて頂きたいです。
よろしくおねがいします。m(__)m

A 回答 (3件)

Windows APIのGetAsyncKeyStateを利用しても、ありなようですね。



こちらは日本語のページで、それなりにわかりやすそうです。
例ではさらに他のAPIとの組み合わせで、さらに精密にキーを取得しているみたいですねえ。

参考URL:http://www.itmedia.co.jp/enterprise/articles/041 …
    • good
    • 1
この回答へのお礼

お返事ありがとうございます。
ご紹介いただいた方法でほぼ解決できそうです。
グローバルフックは魅力的な方法だと思ったのですが、
私にはとても敷居が高そうなので使えるようなところまで
こぎつけることができるか心配だったのですが、
GetAsyncKeyStateならとても簡単に出来そうです。
とても助かりました。ありがとうございました。

お礼日時:2006/04/30 17:47

ええと…それは所謂「キーロガー」みたいに、


・起動しても何も見えないけど、キー入力動作に反応して、どのキーを打ち込んだか記録する(ないしは対応した処理を行う)

とか、そういう風な動作のアプリケーションを作成されようとしていますか?

そうでありましたら「VB.NET グローバルフック」で検索してみれば、ある程度の解説や手順が乗っているかと思います。
それを読めばわかると思いますが、.NET FRAMEWORKでは別プロセスの動作を監視するのが困難であるので、APIやアンマネージの動作が必須になるようです。


下のURLは、C#.NETでグローバルフックを設定したプログラムだそうです。何かの参考にはなるかと。

参考URL:http://www.codeproject.com/csharp/GlobalSystemHo …
    • good
    • 0
この回答へのお礼

お返事ありがとございます。
説明のしかたがいまいち伝わり辛かったかと思いますが、
キーロガーみたい、というかそのものになるわけですね。
用途としてはショートカットキーを設定して、
他のアプリで所定の操作を簡単に行えるようにしたいと思っております。

リンク先のサンプルは正に希望通りの動作をしてくれましたが、
英語ばかりなので、かなり苦戦しそうです。

グローバルフックという言葉がわかりましたので、
いろいろと調べてみたいと思います。

またショートカットキーで他のプログラムを操作する方法で、
グローバルフック以外の方法がありましたら教えて頂けたらうれしいです。

お礼日時:2006/04/29 15:17

おはようございます。



よく分かりませんがこの辺は参考になるでしょうか。

Buttonのクリックイベントを発生させる
http://dobon.net/vb/dotnet/control/performclick. …
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
今回の動作とは違うようですが、アプリの操作に便利そうなので、
グローバルフックが解決してアプリを操作するときに利用してみようかと思います。
ありがとうございました。

お礼日時:2006/04/29 15:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています