PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
17276 02/04/18 15:00:35 RE(3):PB7.0: レジストリサブキーの削除について By JSD
17275 02/04/18 15:00:33 RE(2):PB7.0: レジストリサブキーの削除について By JSD
17268 02/04/18 00:41:37 RE(1):PB7.0: レジストリサブキーの削除について By Taka
17257 02/04/15 11:07:58 PB7.0: レジストリサブキーの削除について By JSD

カテゴリ:スクリプトの記述
日付:2002年04月15日 11:07 発信者:JSD
題名:PB7.0: レジストリサブキーの削除について

こんにちわ いつも大変お世話になっております。

質問させてください。

レジストリキー操作に関してですが、サブキーの削除が思うようにいかなく
困っています。

【パス】
HKEY_LOCAL_MACHINE\\SOFTWARE\\TEST\\TEST1\\ORACLE\\ABCD
【値】
ABCDの直下のキーと値は
TEST_KEY = \"OK\"

というレジストリがあると過程します。

値の削除自体はできるのですが、ABCDの中身ではなく、ABCDそのものを削除したいのです。
こういった場合、PBのシステム関数ではできないので、APIを利用すると良いと思って
以下の処理をやっているのですがうまくいきません。

/**************** API ****************/

【宣言】
//レジストリキーのハンドルオープン
FUNCTION Long RegOpenKeyEx(ULong hKey, String lpSubKey, Long ulOption, Long samdesired, ref ULong 
phkResult) Library \"advapi32.dll\" Alias For \"RegOpenKeyExA\"

//レジストリキーのハンドルクローズ
FUNCTION Long RegCloseKey(ULong hKey) Library \"advapi32.dll\"
//レジストリキーの削除
FUNCTION LONG RegDeleteKey(ULong hKey,String lpSubKey) Library \"advapi32.dll\" Alias 
For \"RegDeleteKeyA\"

/********** 外部関数定数宣言 API **********/

constant Ulong HKEY_CLASSES_ROOT  = 2147483648
constant Ulong HKEY_CURRENT_USER  = 2147483649
constant Ulong HKEY_CURRENT_CONFIG  = 2147483653
constant Ulong HKEY_DYN_DATA = 2147483654
constant Ulong HKEY_LOCAL_MACHINE  = 2147483650
constant Ulong HKEY_USERS  = 2147483651
constant Ulong ERROR_SUCCESS  = 0


【処理】

long l_rtn
ulong hKey

l_rtn = RegOpenKeyEx(HKEY_LOCAL_MACHINE , \"SOFTWARE\\TEST\\TEST1\\ORACLE\\ABCD\",0,1, hKey)
l_rtn = RegDeleteKey(hKey,\"SOFTWARE\\TEST\\TEST1\\ORACLE\\ABCD\")
l_rtn = RegCloseKey(hKey)

使い方、書き方など間違っているのでしょうか?どうかアドバイスお願いします。



付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.