INASOFT 管理人のひとこと


フリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。
2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。
・INASOFT Webサイト: https://www.inasoft.org/
・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/
2022年7月下旬より再び本業多忙化してきているため、更新頻度は落ちます。 [2022/7/24 19:32]

目次 | ←前へ / 2016-08-08 02:02 / 次へ→ / 最新へ⇒

■「コピペテキスト修飾除去 v1.50.00β」「NumLockLock v1.40.00β」更新のお知らせ

2016年 8月 8日(月) 2:02:17 [さくらのブログから転記]



RSSRSS配信中
https://www.inasoft.org/



本日付で、「コピペテキスト修飾除去 v1.50.00β」「NumLockLock v1.40.00β」の2ソフトを更新しました。

どちらも、作者としては新たに開拓した技術を使っているということで、β版扱いにしてあります。

ダウンロードは、トップページからどうぞ。

別件で、「英数キー」(Shiftキーと同時に押すと「Caps Lock」になるキー)の取り扱いについて調べている過程で、ショートカットや一部キーの監視など、現在、DLLを作成してグローバルフックにより実現している機能について、「ホットキー」(RegisterHotKey API)により、もっと簡易に実現できる方法があるのではないかと気づきました。

そこで、実験的に「ホットキー」を使うようにしたバージョンを作成し、公開してみたというわけです。

特に問題なければ、この方法の方が色々とシンプルですので、こっちの方法にしてみようかと思っています。


さて、その別件の課題なのですが、「英数キー」を「左コントロールキー」に置換するというもの。

普通に考えれば、レジストリをいじってScancode Mapを作成して再起動すれば事足りそうなのですが、一部のシンクライアント上からWindows上へ繋いでいる場合に、その方法だとうまくいかないみたいなのです。

(少なくとも、知人の環境1つと、自分の環境で、うまくいかない。具体的には、Ctrlキーが押下されっぱなしになってしまう)

そこで、Scancode Mapではなく、グローバルフックにより「英数キー」の入力を奪い取る作戦を考えたのですが、テストプログラムを作ってみると、なぜか「英数キー」は、キーの押下はフックできるのに、キーの解放はフックできません。

調べてみると同様のことで悩んでいる方はすでにいるようで、LowLevelよりもさらに上流(キーボードドライバから直接受け取るところ)で制御しないとダメなんだとか。

さすがにそんな上流のプログラムを書く能力は無いので、やり方を変えて GetAsyncKeyState() によって、キー状態をタイマ監視するようにしてみたらどうかと思ったら、GetAsyncKeyState() が押下状態をうまく取得できていない様子。

手詰まりになりつつある中、色々調べている過程で、RegisterHotKey() も解決案の候補に並びまして、「もしかしてこれって、既存のソフトのシンプル化に使える方法なんじゃないか?」と思い立ち、適用をしてみたというわけです。

ちなみに、「英数キー」問題については、手詰まりになりました。



目次 | ←前へ / 2016-08-08 02:02 / 次へ→ / 最新へ⇒


目次の表示:


ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメールフィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。
当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。本ページは公開から1年半後の任意のタイミングで削除される予定です。


- 最近の更新 -



3212520 (+0217)[+0214]

Copyright© 2010-2024 INASOFT