Windows XP で、アプリケーションが起動してから終了するまで、
Windows キー と Alt+キー (Alt+TAB とか)を無効にしたいので
すが、どうしたらいいのでしょうか?
そのアプリがアクティブな間だけ無効にするのか、
アクティブでない時も無効にするのかで違うと思いますが、
後者の場合だと、キーフックを用いなければなりません。
XP(NT系のWindows)であるなら
SetWindowsHookEx
LowLevelKeyBoardProc
というAPIを組み合わせて利用すれば大抵のキーを無効にできると思います。
...といきなり関数名を言われても困惑しちゃいますよね。
わたしも昔同じような事を行うアプリを作ったんですが、説明するのが難しいんで(説明できるほど理解できてない(ToT))
検索サイトで上の言葉で探してみて下さい。結構見つかると思います。
また特定のマシンだけで無効にしたいなら、レジストリをいじって無理矢理
キーマップを変更する、という荒業もあった気がします。
(これはあまりお勧めしませんが...)
About Delphi
http://www2.big.or.jp/~osamu/Delphi/
ここのサイトのDelphi-ML過去ログの
[52825]「Fw: キーフックとは?」から始まるあたり
なんか参考になりませんか?
というか私もここを参考にしたのでした。
知りたい内容とハズしてたらごめんなさい。
ヤシュ・クック・モ さんありがとうございました。
教えていただいたHP上のプログラムを使わせていただき、うまくいきました。
ツイート | ![]() |