- ベストアンサー
VB6でレジストリファイルをインポートするには?
○○.regというファイル(レジストリファイル)を開こうとすると、「レジストリに追加しますか?」というメッセージが現れますが、 VB6でregファイルを開き、この状態にしたいです。 初めは安易にshell(~\○○.reg)でいけるのかと思ったらエラーになってしまいました。 どうすればいいのでしょうか・・・?? あと、ちょっと気になっているのですが、レジストをインポートしても直後には反映されず、再ログイン時等に反映されますが、直後に反映されるため、何かのexeファイルが動いているんですか? 実際にデスクトップの壁紙等もプロパティを開いて変更したら直後に反映されているので、あのOKボタンを押すことで何かが起動しているように思うのですが・・・
- abcdzyx129
- お礼率28% (8/28)
- Visual Basic
- 回答数2
- ありがとう数1
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
推測ですが、壁紙の変更はレジストリを変更するのではなく、API のSystemParametersInfoとかいうのを呼び出して行っているんじゃないかと思います。 で、API 内で、デスクトップへの反映とレジストリの変更を行っているのかなぁ、と。 レジストリの何の値を変更されようとしているのかわかりませんが、その設定変更を行うAPIが存在する場合は、そのAPIを使用した方が良いのではないかと思います。 設定項目によってはAPIのSendMessageを使用して全トップウィンドウに、設定が変更されたことを通知することが可能です。 例えばシステムカラーの変更の場合は、 SendMessage(HWND_BROADCAST,WM_SYSCOLORCHANGE,0,0) で全トップウィンドウに通知できたと思います。 (HWND_BROADCAST、WM_SYSCOLORCHANGEの値は検索すると見つけることができると思います。) あと、REG IMPORTですが、コマンドプロンプトで REG /? で使用方法が表示されたと思います。これの実体はVBSだったかも。
その他の回答 (1)
- OMEGAT
- ベストアンサー率70% (455/642)
reg import コマンドで出来そうな気がしますが、確認のメッセージが出ないので、VB側のMsgBoxで処理する必要がありそうです。 即座に反映するのは、たぶんウィンドウにメッセージを送るAPIをコールしているからで、.exeを起動しているわけではないと思います。
関連するQ&A
- 間違った表記のレジストリをインポートした
間違った表記のレジストリをインポートした 表題のとおり、レジストリファイル(.reg)を作成してインポートしたのですが、本来 [HKEY_CURRENT_USER\Software\… とするところ、 [HKEY_CURENT_USER\Software\… などと、間違えて表記したことに気づきました。 インポート(ダブルクリック)したところ、追加されました、との表示が出たのですが、 レジストリエディタで色々と探したのですが、反映されてないようなのですが、 どこかに追加されてしまった、ということはないでしょうか?? システムの根幹なので、ちょっと心配です。ご存知の方いらっしゃれば、ぜひ 教えて下さい。もし追加された可能性があるとしたら、場所も教えて頂けると 削除できるので、何卒お願いいたします。
- ベストアンサー
- Windows系OS
- バイナリレジストリファイルってなんですか?
ちょいとした事情でレジストリファイルを作成して組み込もうとしている者です。 とりあえずやり方も何も判らないのでメモ帳に式をべたっと貼り付け、拡張子は《.reg》でファイルを作成したところ、ファイルの種類は『登録エントリ』として成立したのでダブルクリック。《●●内の情報をレジストリに追加しますか?》とでるので「はい」を選択すると、《●●をインポートできません。指定されたファイルははレジストリ スクリプトではありません。レジストリ エディタの中でインポートできるのは、バイナリ レジストリ ファイルだけです》 といわれます。 どうすればこのエラーを突破できますかね? おおかた、私の手順が間違っていると思うのですが。
- 締切済み
- その他(ソフトウェア)
- レジストリについて
AFD_TUNE.regというファイルをダブルクリックしてレジストリを変更しようとすると、 「AFD_TUNE.regをインポートできません。指定されたファイルはレジストリ スクリプトではありません。レジストリ エディタの中でインポートできるのは、バイナリ レジストリ ファイルだけです。」 と出るのですがどこをどういう風に変更すればいいのでしょうか?
- 締切済み
- その他([技術者向] コンピューター)
- レジストリのインポートについて
お世話になります。内容が別だったため、別に質問させていただきました。非常に困っており、アドバイスいただけたら大変助かります。 OS:WinXP Pro 別マシン:在り 作業前にレジストリのバックアップをし、レジストリを変更したところ、OSが起動不可となってしまいました。 最後の手段としては、CD-ROM起動で、OSの修復を試してみようと思いますが、OSが書き換わると、下記で質問している暗号化ファイルを復旧できなくなる恐れがあるので、どうにかこのOSのまま復旧させたい状況です。 http://oshiete1.goo.ne.jp/qa2582898.html OSが起動できない状況で、regファイルはインポート出来ないものでしょうか。回復コンソールはregコマンドに対応していませんでした。 何卒宜しくお願いします。
- 締切済み
- Windows系OS
- vb.netでレジストリ操作
現在vb.netでインストーラを作成しています。 (1)その中でexeファイルをレジストリに登録しようと考えています。 そのexeファイルを登録することはvb.netで可能でしょうか? (2)またアンインストールも同じプロジェクトで作成しようと考えているのですがそれも可能ですか? わかる方がいらしたら教えていただきたいと思います。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- マウス加速OFF レジストリをインポートできない
マウスの加速を切ろうと思い http://them.lomo.jp/CS/pukiwikiCSS/index.php?config を参照してがんばったんですが、拡張子regにしてダブルクリックしても『レジストリファイルをインポートできません、インポートできるのはバイナリファイルだけです。』とエラーがでます。 どなたかアドバイスお願いします!!
- ベストアンサー
- Windows XP
- レジストリのキーを削除
レジストリのキーを削除するためのREGファイルの記述方法を教えてもらえないでしょうか? レジストリの書き出しを行うと、REGファイルが作成されて、それを実行すると書き出した内容が追加されます。 でも、キーを削除するための記述がわかりません。 レジストリエディタで削除すればいい、と言わずに教えてください。(^^;
- ベストアンサー
- Windows 95・98
- VBでインポート定義の利用 保存場所は何処?
アクセスで、テキストファイルをインポート定義を利用してVBでインポートしていますが、追加時にインポート定義を開いてから保存して利用しています。定義は何処に保管されているのでしょうか?また、簡単にVBなどでコントロールは出来ないでしょうか?ご存知の方助言お願い致します。
- ベストアンサー
- Visual Basic
- win2000デスクトップ・レジストリの問題
http://okwave.jp/qa/q2930074.html の方とほとんど同じ状況ですが、直らず困っております。 デスクトップにあったブックマークのインポート用ファイル、他プログラムのアイコンが 無くなっています。設定していた壁紙も表示されなくなりました。 ダウンロードした画像ファイルは存在しており、見ることができます。 (プログラムファイルが入っているHDDとは違うディスクに保存しました) 以前の起動時はユーザーを指定せず、自動的にログインしていました。 いろいろとレジストリをいじってみましたが、状況が変わりません。 HKEY_LOCAL_MACHINE \SOFTWARE \Microsoft \Windows NT \CurrentVersion \Winlogonの中は AutoAdminLogon REG_SZ 1 、 DefaultUserName REG_SZ administer 、 DefaultPassword REG_SZ は見あたりません。 [スタート]-[設定]-[コントロールパネル] から「ユーザーとパスワード」で見ると Administer、ASPNET、Guest、自分の名字が存在し、 左からAdministers、Users、Guests、Power usersというグループになっています。 元々使っていたユーザーはどれかわかりません。 何回もレジストリをいじってしまったのですが、元に戻るでしょうか?
- ベストアンサー
- Windows系OS
- レジストリの書き換えについて
WinXPhomeのsp2を使用しています。このたび間違えて以前にレジストリエディタで書き出しておいたバックアップを(.regのファイル)クリックしてしまい、 「レジストリに追加しますか?」で追加してしまいました。 その後動作が不安定になり、ソフトが起動しなくなったり、 ファイルが開けなかったり・・・それというのもそのバックアップした レジストリ情報はPCを購入した直後のものなので(SP2を導入する前)、それ以降たくさんのソフトをイントールしたり。設定内容を書き換えたりしているので不安定になるのも分かるのですが。 動作しないソフトのアンインストール情報もなく、動作も鈍いので マウスもなかなか動きません。この追加してしまったレジストリを削除、 または元に戻す方法はあるのでしょうか?もちろんWinの復元も試みましたが、復元ポイントに戻れませんでした。なるべく再セットアップはしたくないのですが。機種はNECのVL3002です。リカバリCDはなく(ハード内に保存) 回復コンソールもありません。
- ベストアンサー
- Windows XP
補足
すみません、regimportの使い方が分かりませんでした・・・ ただ、Shell ("REGEDIT /I C:\○○.reg")で出来たのでとりあえずありがとうございます。 ウインドウにメッセージを送るAPIをコールするのはVBでも命令できるのでしょうか?またご存知でしたら教えていただけますか?