複数のプロセスのアプリケーションで、マザーボード ID (シリアル、製造など) にアクセスする必要があります。 WMI を使用してこれを正常に照会できましたが、別の方法を探しています。
状況を知りたい場合:
ハードウェア構成によって、または特定の環境変数が設定されている場合 (テスト目的)、アプリケーションの動作が異なります。
bool IsVideoCardDisplay = ( getenv("Z_VI_DISPLAY") || !QueryWmiForSpecialBoard() ) ? false : true;
環境変数が設定されている場合、WMI クエリは必要ありません。アプリケーションは正常に動作します。ただし、環境変数が存在しない場合、WMI クエリを作成する必要があるときに、アプリの一部のコンポーネントが起動に失敗します。WMI 呼び出しのいくつかの副作用があると思われます (プロセスごとに最大 1 回しか発生しません。これが、別の方法を探している理由です。