HIJIRIKAWA様
平素より弊社製品をご利用いただき誠にありがとうございます。
日本ナショナルインスツルメンツの井関と申します。
HP社のノートPCで検出できないのは、スペースキーのみでしょうか、それとも他のキーも検出できないのでしょうか。
WindowsAPIを使用して取得も可能ですので、方法をご紹介いたします。
使用する関数はGetAsyncKeyStateです。
関数呼び出し時にキーが押されているかどうか、また、前回の GetAsyncKeyState 関数呼び出し以降にキーが押されたかどうかを判定します。
Call Library Function Nodeを使用して C:\WINDOWS\system32\user32.dll内のGetAsyncKeyState 関数を呼びます。
引数は数値・符号つき32ビット整数
返り値タイプは、数値・符号つき16ビット整数
です。Spaceキーは10進で"32"なので、引数に32を渡します。
前回から今回実行するまでにスペースキーが押された場合
2進表記で 0000000000000001
実行時にスペースキーが押されている場合
2進表記で 1000000000000001
が返ってくることを確認しました。
GetAsyncKeyState関数についての詳細はMSDNライブラリをご参照下さい。
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpwinui/html/_win32_getasynckeystate.asp
現在私が使用できるLabVIEW6.1がなかったため、動作確認したVIをご紹介できず申し訳ありませんが、上記の内容がご参考になれば幸いです。
ご不明な点などございましたらまたご連絡下さい。
よろしくお願いします。