FC2ブログ

Anaconda 学習:レジストリ・アクセス

2018-06-04 :  PCクリニック
かれこれ10年前(2008-10-22)の記事:
「バールのようなもの」続”では、

  ・・・・・
  ・・・・・
  「REI sweeper」は、指定のレジストリやファイルを削除するツールです。
  同じディレクトリにあるsweeper.ini ファイルに記述されたことを実行する。
  見た目の変化は起こらない。

  「WinBatch」はレジストリの操作(追加・削除・変更)やファイルの削除など、
  昔の MS-DOS のバッチコマンドを拡張したような処理を記述できるものです。
  拡張子 .BTW ファイルをエディタで作り、関連づけをしておくとよい。

  但し、「REI sweeper」は、レジストリのキーレベルのみ対象で、
  項目レベルには対処できない。
  一方、「WinBatch」では、レジストリの項目レベルにも対処できる。
  ・・・・・
  ・・・・・

と書いている。


此処に来て、
久々に“WinBatch”を見てみた:

  ・・・・・
  ・・・・・
  皆様にご愛顧いただいて参りました「WinBatch」ですが、
  本製品の開発元である Wilson WindowWare, Inc.が諸般の事情により、
  来る2017年6月末日をもちまして会社業務を終了することとなりました。

  つきましては、現在、弊社での販売を終了させていただいております。
  皆様の長年にわたるご愛顧に心から感謝申し上げますとともに、
  何卒、事情をご諒察賜り、ご理解いただきますようお願い申し上げます。

  なお、ご購入されたお客様においては、
  引き続き、製品のご利用はいただけます。
  ・・・・・
  ・・・・・

となっていた。


そんな訳で、
Python で、レジストリ・アクセス について学習しようと思った。

手始めに、
このブログ内で「レジストリ アクセス」検索を行った。

 ・2018/02/21 : 調査結果メモ:“波乗野郎”代替“CompleteGetter”
 ・2016/12/26 : viva “GSL Shell”
 ・2016/11/09 : Lua 学習: xls ファイル出力
 ・2009/02/11 : 仮想 高校 化学部 部活 ?
 ・2008/11/13 : Windows XP「検索」画面設定
 ・2008/11/09 : Windows操作の自動化ツール
 ・2008/10/22 :「バールのようなもの」続
 ・2008/08/28 :『Windows Update』
 ・2008/08/09 : 体験版ソフト

等々が見つかるが、・・・・・


実質、
冒頭の“「バールのようなもの」続”だけダ。

そこで、「Python レジストリ・アクセス」Google 検索では、


“PythonRecipe”の
214:Windowsレジストリにアクセスする

  Windows のレジストリを操作するには _winreg モジュールを 使います。
  まだ Windows API の薄いラッパーにすぎないモジュールであるため、
  新たな実装を募集中のようです。

  ・・・・・
  ・・・・・


“かせきのうさぎさん”の
winreg でレジストリを読み書きするサンプルコード

  標準ライブラリに入ってる winreg を使うとレジストリの読み書きができるけど、
  こいつは Windows API を薄く包んでいるだけなのでリファレンスを見ても
  使い方がさっぱりわからないという。

  いろいろ調べて、おそらくこうするのが正しいと思われる
  サンプルコードを書いた。

  ・・・・・
  ・・・・・


“Python 2.7.15 ドキュメント”の
35.3. _winreg - Windows レジストリへのアクセス

  これらの関数は Windows レジストリ API を Python から使えるようにします。
  プログラマがレジストリハンドルのクローズを失念した場合でも、
  確実にハンドルがクローズされるようにするために、整数値をレジストリ
  ハンドルとして使う代わりに ハンドルオブジェクト が使われます。

  ・・・・・
  ・・・・・


これらを参考にして、

むかし、WinBatch で、作っていた:
setregstring=RIGHT /R:HKEY_CURRENT_USER "SOFTWARE\hoge1\hoge2"
setregstring=RIGHT /N /R:HKEY_CURRENT_USER "SOFTWARE\Licenses\hoge3"
に相当することを書いてみた。
import _winreg
KR = _winreg.HKEY_CURRENT_USER
KL1 = 'Software\\hoge1\\hoge2'; KL2 = 'Software\\Licenses'

_winreg.DeleteKey( KR, KL1 )

key = _winreg.OpenKey( KR, KL2, 0, _winreg.KEY_ALL_ACCESS )
_winreg.DeleteValue( key, 'hoge3' )
と云うことで、良さそう?



本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180428
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
09 | 2018/10 | 11
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク