【QBASIC互換!?】FreeBasic【GPL】 2 [無断転載禁止]©2ch.net (430レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
99(1): デフォルトの名無しさん [] 2017/02/26(日) 13:08:20.87 ID:K90trdCC(1/3) AAS
>>9898(2): デフォルトの名無しさん [] 2017/02/25(土) 21:16:18.91 ID:r1nrT1Dg(1) AAS
>>97 つづき。レジストリーのダンプリスト関係。
Const InFile1String = "D:\bas\Projects\Kako02\0RegData\1111.reg.txt"
の調子で入力ファイル5つを昨年(2016.09)に作成した。
レジストリー操作がよくわからなくて放置していたが、Read, Write, SubKey検索, Key検索の4ルーチンが入手できたことから、放置していた、データの収集関係を始めることとした。
が、データが膨大で260MB位ある。初期には
エディタで読み取って、検索
検索ソフトで検索
なんてやっていたが、内容によっては膨大な数の入力定数の設定があり、結構間違いが多数発生した。
というわけで、自動化。キー名、キー値、サブキー名で検索して、一覧表を作成、一覧表から読み取りルーチンを作成するようにした。
Dim As String RegPathString, KeyNameString, KeyValString
'Input File No. 0
(略)
'Input File No. 3 D:\bas\Projects\Kako02\0RegData\3333.reg.txt
(略)
RegPathString = "SOFTWARE\Microsoft\Windows Search\Gathering Manager"
KeyNameString = "UserAgent"
KeyValString = RegistryRead02String(HKEY_LOCAL_MACHINE, RegPathString, KeyNameString)
'KeyValString = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT; MS Search 4.0 Robot)"
'Input File No. 4 D:\bas\Projects\Kako02\0RegData\4444.reg.txt
(略)
てな調子で読み取りルーチンが作成されるソフトを作成した。
つづき。こんなのも作った。
Dim As String TopSubKeyString, BottomSubKeyString, SubKeyNameString()
Dim Ierror As Long
'Input File No. 3 D:\bas\Projects\Kako02\0RegData\3333.reg.txt
' RegPathString = "SOFTWARE\Microsoft\Advanced INF Setup\IE40.UserAgent\RegBackup"
TopSubKeyString = "SOFTWARE\Microsoft\Advanced INF Setup"
BottomSubKeyString = "\RegBackup"
TakaDammyReturnCode = ReadSubKeyList0(HKEY_LOCAL_MACHINE, TopSubKeyString, SubKeyNameString(), Ierror)
' SubKeyNameString(3) = ["IE CompList", "IE.HKCUZoneInfo", "IE40.UserAgent"]
'**********************\(ちょっと違う)\*******************
というサブキー内にちょっと内容が異なる値が保存されている場合を想定。
UserNameの取得で、導入したユーザー名をかき集めるための物。
(ちょっと違う)ところをSubキーとして検索(Function ReadSubKeyList0(なんたら))して、フルスペルを取得。
個別に各キーの値を取得するための、Subキー一覧を作成するための物
100: デフォルトの名無しさん [] 2017/02/26(日) 13:18:03.93 ID:K90trdCC(2/3) AAS
作成したソフトの中身を眺めた範囲では、
Open InFileString For Input Encoding "utf-16" As #InFileNo
While - Wend で回して、先頭1文字又は先頭3文字で作業内容を決定
一番最初の[]内でルートキーを取得し
その後は[でサブキー名、"や@でキー名、=がない場合にはキー値の追記行として処理
だから、そんな難しいルーチンではないと思う。
サブキー、キー名、キー値の3つがそろったところ、つまり、サブキーの先頭行か、キー名の先頭行で検索する
101: デフォルトの名無しさん [] 2017/02/26(日) 13:25:38.25 ID:K90trdCC(3/3) AAS
>>98の
'KeyValString = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT; MS Search 4.0 Robot)"
>>99の
' SubKeyNameString(3) = ["IE CompList", "IE.HKCUZoneInfo", "IE40.UserAgent"]
は、キー値取得のための各値を定義して、実際に取得したもの。
2016.09に作成したダンプリストのために、現在の内容とは異なっている場合があるから、取得した。
もっとも、Subキーのリストが10000超えた場合もあったのはあせった。
10分ぐらい終了しなかったので、ハングしたのかな、と強制停止の処理を始めたら、終了した。
MSやその他法人が保存しているレジストリーの内容から、ユーザーとしてソフトを動かすために必要な情報を取得できるけれども、
何を使用するか、何を使用しないか、の取捨選択が迫られる。
分量の多さゆえに、このような検索ソフトを作成した。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.285s*