1

4D 2004 でビルドされた古いソフトウェア (おそらく 4D について聞いたことがないかもしれませんが、それは問題ではありません) を使用して、Windows 7 と互換性を持たせる必要があります。

アプリケーションは HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion から Windows のバージョン番号を取得していて、この値を変更できると思っていましたが、違いました... レジストリの値を変更しても、Windows のバージョン番号が返されました私のアプリケーションでは常に同じです:

Windows 7 の場合は 498139398

Windows XP の場合は 170393861

これらの値には Windows のバージョンが含まれています (このリンクではバージョン番号を抽出する方法が説明されています) が、それがどこから取得されたのかわかりません。

これらの番号をググると、他のアプリケーションが同じバージョン番号を参照していることがわかります。

Process Monitor を使用して、アプリケーションが使用しているレジストリを見つけようとしましたが、アプリケーションがアクセスするレジストリはどれも Windows バージョンに関連していないようです。

それらの値がどこから来ているのか、誰にも手がかりがありますか? レジストリの外/どこかにハードコードされている可能性がありますか?

4

1 に答える 1

5

Windows には、これを行うためのツールが既に用意されています。プログラムを右クリックして [プロパティ] を選択し、[互換性] タブを確認しましたか?

より複雑なトリックについては、「Microsoft Application Compatibility Toolkit」を調べてください。

于 2012-03-08T17:53:48.877 に答える