仕様: VC++ 7; プログラムは XP で動作しますが、Win7 ではクラッシュします。VS2003.NETを使用して開発されました(古いことは知っていますが、それは私が使用しなければならないものであり、うまく機能します。ありがとうございました)
XP (32 ビット) で問題なく動作するプログラムがあります。ただし、最近 Win7 でテストしたところ、あらゆる種類の choas が解放されました。私の強い疑いは、私のプログラムがレジストリ キーをどのように処理するかです。
注: プログラムはキーを作成または破棄せず、キーのクエリのみを行い、興味深い値を返します。(「面白い」は後述)
最も単純な形式では、プログラムは SCSI 接続デバイスからデータを読み取り、そのデータをホスト PC 上のファイルに保存します。プログラムはレジストリに SCSI アダプタを照会し、プログラムがデバイスへのアクセスに使用するアダプタ ID を返します。
私には、レジストリ構造が XP から Win7 に変更されたようには見えませんが、100% 確実ではありません。それについての洞察は素晴らしいでしょう:)
また、 http : //www.techsupportalert.com/content/how-windows7-vista64-support-32bit-applications.htm で、Win7 のやり方は反射のようなものだと読みました。これにより、キーのクエリ方法が変わりますか? もしそうなら、クエリを構築する方法に関する情報は素晴らしいでしょう。
私が知る必要があるのは次のことだと思います:
- RegQueryValueEx メソッドで hKey (または lpValueName) を変更するのと同じくらい簡単ですか?
- それとも、RegQueryValueEx メソッドの他の側面を変更する必要があるということですか?
- それともまったく別のものですか?
前もって感謝します!