2

複数のマシンで頻繁に使用するアプリケーションがあります。各マシンで通常構成する必要があるレジストリ設定をエクスポートして、起動時にインポートされるようにスクリプトを作成できるようにしたいと考えています。このアプリケーションでは、複数行のテキストをテキスト ボックスに入れることができ、そのテキストをすべての印刷物に重ねることができます。そのテキストをレジストリの文字列に保存します。レジストリをエクスポートすると、文字列は次のようになります。

"sEndorsement"="Line 1 of text
Line 2 of Text"

文字列が壊れているため、これは正しくインポートされません。そのインポートをうまく行う方法はありますか?設定で 1 行のテキストを使用するオプションは実際にはありません。

4

5 に答える 5

0

key=valueの最初の行 (または唯一の行) が常に二重引用符で始まる場合、インポート コードはそれを検出できます。擬似コード:

firstLine   = TRUE
keyAndValue = NULL
for each line to import
    line = get line
    if line[0] == '"' then
        if have previous line
            import keyAndValue
        keyAndValue = line
    else
        keyAndValue = concat(keyAndValue, CRLF, line)
end for
if keyAndValue is not NULL
    import keyAndValue

前に述べたように、これは VBScript または Perl で実装できます。

于 2013-04-17T22:30:34.280 に答える
0

_winregモジュールを使用して、1 つの Python スクリプトを実行できます。いくつかのスニペット:

from _winreg import *

#read Data:
key = OpenKey(HKEY_LOCAL_MACHINE, r'Software\MyCompany\MyApp', 0, KEY_ALL_ACCESS)
value_data = QueryValueEx(key, "MyValueName")[0]

#write data:
key = OpenKey(HKEY_LOCAL_MACHINE, r'Software\MyCompany\MyApp', 0, KEY_WRITE)
SetValueEx(key, "MyValueName", 0, REG_SZ, "MyValueData")
于 2013-04-18T07:00:54.057 に答える