InstallShield でレジストリキーを取得するスクリプト
2022-01-07 12:53:23
使用方法
nvType = REGDB_NUMBER;
szKey = "\SYSTEM⇄CurrentControlSet⇄Servic
es\\\{58ECC408-265E-4342-9DA4-70BF1796D81D}\\Parameters\\\\Tcpip";
szName = "EnableDHCP"
RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE ) を使用します。
RegDBGetKeyvalueEx ( szKey, szName, nvType, svvalue, nvSize ) を使用します。
if ( svvalue = "1") then
szName = "DhcpIPAddress";
さもなければ
szName = "IPAddress"。
エンドイフ
nvType = REGDB_STRING;
RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE );
RegDBGetKeyvalueEx ( szKey, szName, nvType, svvalue, nvSize ); <p> 上記の手順は、実際にレジストリでキー値を取得する方法です。IPの取得に使用すると、上記の {58ECC408-265E-4342-9DA4- 70BF1796D81D} は私のマシンからで、あなたのGUIと同じではないかもしれませんが、以下のレジストリから取得も可能です。
HKEY_LOCAL_MACHINE/SYSTEMCurrentControlSetServicesTcpip Parameters
HKEY_LOCAL_MACHINE@CurrentControlSetServices¥Tcpip¥Parameters¥Interfaces
HKEY_LOCAL_MACHINE_SYSTEM
同様に、ホスト名を取得する場合は、以下の手順で行います。
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
RegDBGetKeyvalueEx("SYSTEMCurrentControlSet\ControlComputerName","ComputerName", nvType, szServerPort, nvSize);
上記の例を利用して、レジストリの他のキーを取得することができます。
nvType = REGDB_NUMBER;
szKey = "\SYSTEM⇄CurrentControlSet⇄Servic
es\\\{58ECC408-265E-4342-9DA4-70BF1796D81D}\\Parameters\\\\Tcpip";
szName = "EnableDHCP"
RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE ) を使用します。
RegDBGetKeyvalueEx ( szKey, szName, nvType, svvalue, nvSize ) を使用します。
if ( svvalue = "1") then
szName = "DhcpIPAddress";
さもなければ
szName = "IPAddress"。
エンドイフ
nvType = REGDB_STRING;
RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE );
RegDBGetKeyvalueEx ( szKey, szName, nvType, svvalue, nvSize ); <p> 上記の手順は、実際にレジストリでキー値を取得する方法です。IPの取得に使用すると、上記の {58ECC408-265E-4342-9DA4- 70BF1796D81D} は私のマシンからで、あなたのGUIと同じではないかもしれませんが、以下のレジストリから取得も可能です。
HKEY_LOCAL_MACHINE/SYSTEMCurrentControlSetServicesTcpip Parameters
HKEY_LOCAL_MACHINE@CurrentControlSetServices¥Tcpip¥Parameters¥Interfaces
HKEY_LOCAL_MACHINE_SYSTEM
同様に、ホスト名を取得する場合は、以下の手順で行います。
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
RegDBGetKeyvalueEx("SYSTEMCurrentControlSet\ControlComputerName","ComputerName", nvType, szServerPort, nvSize);
上記の例を利用して、レジストリの他のキーを取得することができます。
関連
-
スクリプトとバッチ処理がひとつに
-
[解決済み】constで変数を初期化しようとすると「initializerの要素が定数でない」というエラーが発生する。
-
[解決済み】rmarkdownエラー "長さ0の変数名を使おうとした"
-
[解決済み] 型 'closure' を型 'character' のベクトルに強制することはできません。
-
[解決済み】C 言語のポインタと配列。[警告] 整数からキャストなしでポインタを作る代入 [クローズド]
-
[解決済み】集約する数値型がない - groupby()の挙動が変わった?
-
[解決済み】異なるサイズの整数からポインタにキャストする、pthreadコード
-
[解決済み] テスト
-
[解決済み】インデックス0から始まる初期化文字列のフォーマットが仕様に合わない
-
python startup prompt IDLEのサブプロセスが接続できない問題が発生しました。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
git eclipseプラグインのインストール
-
期限切れのアカウントを自動的に禁止するRouterOSスクリプト
-
[解決済み】recyclerview アダプタが添付されていないため、レイアウトをスキップしています。
-
[解決済み】必要な形式パラメータに対応する引数が与えられない - .NETエラー
-
[解決済み】' ' への呼び出しにマッチする関数がない
-
[解決済み】C言語で "Abort trap: 6 "エラー?
-
[解決済み] クラス内のメソッドを指定された型に適用できない
-
[解決済み】Javaのメソッド呼び出しが期待される
-
[解決済み] Maven エラー : Could not find or load main class org.codehaus.plexus.classworlds.launcher.Launcher [duplicate] メインクラスが見つからない、またはロードできない。
-
[解決済み] strcmpがセグメンテーションフォールトを出す [重複]。