掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ODBCデータソースアドミニストレータを起動制御するには? (ID:114407)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
はじめまして。VBで開発をしております。 プログラム実行中に「ODBCデータソースアドミニストレータ」に起動制限を かけるため、RegSetValueExを使ってレジストリに値を設定しています。 ただし、通常再起動しないとレジストリの変更が反映されないため、 WSHのRunメソッドを使用し、レジストリの設定値を最新の情報に更新する処理を 追加しました。 しかし、プログラムを実行しても「ODBCアドミニストレータ」の起動制御が 成功する場合と失敗する場合がありとても不安定な状態となっています。 ・起動制御が成功した場合は「ODBCアドミニストレータ」を起動すると 「制限されている」旨のメッセージが表示され起動できません。 ・起動制御が失敗すると、特に何のメッセージも表示されず起動します。 起動制御を安定させたいのですがどうしたらよいでしょうか? ご存知の方がいらっしゃいましたら、ご教授ください。 よろしくお願いいたします。 コードは↓です。 'オブジェクトの作成 Dim oShell As Object 'レジストリーキー Const C_sKeyExplorer = "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" Const C_sKeyRun = "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer \DisallowRun" lValue = 1 'キーを開く '(HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies \Explorer) glRtn = RegCreateKeyEx(HKEY_CURRENT_USER, C_sKeyExplorer, 0, _ vbNullString,REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, _ typSecurityAttributes, lHandleRegKey, lDisposition) 'DisallowRunのDword作成 glRtn = RegSetValueEx(lHandleRegKey, "DisallowRun", 0, REG_DWORD, _ lValue, Len(lValue)) 'キーを閉じる glRtn = RegCloseKey(lHandleRegKey) 'キーの作成 '(HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion \Policies\Explorer\DisallowRun) glRtn = RegCreateKeyEx(HKEY_CURRENT_USER, C_sKeyRun, 0,_ vbNullString, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, _ typSecurityAttributes, lHandleRegKey, lDisposition) 'キーの下に1というDWORDを作成する glRtn = RegSetValueEx(lHandleRegKey, "1", 0, REG_SZ, _ ByVal "odbcad32.exe", ByVal CLng(12)) 'キーを閉じる glRtn = RegCloseKey(lHandleRegKey) 'セキュリティ設定を最新の情報に更新する glRtn = oShell.run("cmd /q /c secedit /refreshpolicy user_policy /enforce", 0, True)
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.