Jump to content

Reg Dosyasını İnf'e Çevirmek İçin Programcık Vs.


Recommended Posts

Arkadaşlar aramama karşın reg dosyalarını inf dosyasına çeviren bir program bulamadım.

Böyle bir araç gerekiyor şu an.Bu yüzden yardımlarınızı bekliyorum.Bilen bulan varsa bir zahmet buradan söyleyiversin.

Teşekkürler.

Link to comment
Share on other sites

Buradan anlataması biraz zor tabi.Ama şöyle söyleyeyim Reg leri Inf'e çevirnice Reg'deki bazı özel değerler genelleşiyor.Sanırım en açık tanımı böyle.

Arkadaşlar bekliyorum.

Link to comment
Share on other sites

Reg2Inf var.

http://rapidshare.com/files/231116940/Reg2Inf_Turkish_Patch_By_aStaLaviSta.rar[/CODE]

Bu araçta normalde Türkçe sistemlerde HKLM sorunu vardı.Baran seren isimli birisi bunu çözmüş.Ben de onunkini verdim. Türkçe sistemlerden sorunsuzca HKLM girdilerini alabiliyor.Kendisine teşekkürler buradan.

Kullanımı:

- reg dosyasının olduğu klasöre reg2infi at.

- sonra bu klasörde komut satırı aç.

- Komut satırına [b]reg2inf /RepVars reginadı.reg infinadı.inf[/b] yaz.

/RepVars parametresi senin istediğin şeyi yapıyor,yani C:\Program Files'ı %ProgramFiles% yapıyor mesela.

Bu arada bu inf'i kurdurmak için

[b]rundll32 advpack.dll,LaunchINFSection infinadı.inf,U[/b]

yazıyorsun.(Regde regedit /S reg.reg karşılığı yani)

Link to comment
Share on other sites

/RepVars parametresi senin istediğin şeyi yapıyor,yani C:\Program Files'ı %ProgramFiles% yapıyor mesela.

Hiçbir şeyi de unutmuyorsun ha :)

Açıkçası bu yazılımı biliyordum fakat kullanımına dair hiçbir bilgim yoktu.

Çok teşekkürler, sağolasın :D

Süpersin Morning'im...

Link to comment
Share on other sites

Reg2Inf:

'************************************
'* Nom de la fonction : Main()
'* Paramêtres : Fichier REG
'* Retour : Aucun
'* Description : Convertit un fichier REG en un fichier INF
'************************************

On error resume next

DIM aa

Set WshShell = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")

message=""
typemessage= vbinformation

If Wscript.Arguments.Count = 1 Then

'Déclaration de la variable str_RegFullPath contenant le chemin du fichier REG
str_RegFullPath=Wscript.Arguments(0)

'Ouverture du fichier Reg en mode Unicode ou ANSI
Set objFile =fso.OpenTextFile(str_RegFullPath,1,0)
if Left(objFile.ReadLine,2)=Chr(255)+Chr(254) then
Set objFile =fso.OpenTextFile(str_RegFullPath,1,0,-1)
flag_Unicode = 1
else
Set objFile =fso.OpenTextFile(str_RegFullPath,1,0)
flag_Unicode = 0
end if

Set InfFile = fso.CreateTextFile(str_RegFullPath & ".inf", True) 'Creation du fichier Inf

'Déclaration de l'entête du fichier INF
InfFile.WriteLine "[version]"
InfFile.WriteLine "signature=""$Windows NT$"""
InfFile.WriteLine ""
InfFile.WriteLine "[DefaultInstall]"
InfFile.WriteLine "AddReg = AddReg"
InfFile.WriteLine ""
InfFile.WriteLine "[AddReg]"

Do Until objFile.AtEndOfStream
str_line= ""
str_buffer = ""
flag_removebackslash = 0
Do
if (len(str_line) > 1) then str_buffer = left(str_line,len(str_line)-1)
str_line = str_buffer & Trim(objFile.ReadLine)
if (right(str_line,1) = "\") then flag_removebackslash = 1
loop While (right(str_line,1) = "\")

if (left(str_line,1) = "[") then
str_keypath = mid(str_line,2,len(str_line)-2)

Set regEx = New RegExp
regEx.Pattern = "HKEY_LOCAL_MACHINE\\"
regEx.IgnoreCase = True
str_keypath = regEx.Replace(str_keypath , "HKLM,""")
Set regEx = Nothing

Set regEx = New RegExp
regEx.Pattern = "HKEY_CURRENT_USER\\"
regEx.IgnoreCase = True
str_keypath = regEx.Replace(str_keypath , "HKCU,""")
Set regEx = Nothing

Set regEx = New RegExp
regEx.Pattern = "HKEY_CLASSES_ROOT\\"
regEx.IgnoreCase = True
str_keypath = regEx.Replace(str_keypath , "HKCR,""")
Set regEx = Nothing

Set regEx = New RegExp
regEx.Pattern = "HKEY_USERS\\"
regEx.IgnoreCase = True
str_keypath = regEx.Replace(str_keypath , "HKU,""")
Set regEx = Nothing

str_keypath = str_keypath & ""","

else
if ((str_keypath <> "") and (len(str_line) > 0)) then

if (flag_hexreset = 1) then
flag_hex=0
end if

str_RegValue = str_line
Set regEx = New RegExp
regEx.Pattern = "@="""
regEx.IgnoreCase = True
str_RegValue = regEx.Replace(str_RegValue , """"",,""")
Set regEx = Nothing

Set regEx = New RegExp
regEx.Pattern = """="""
regEx.IgnoreCase = True
str_RegValue = regEx.Replace(str_RegValue , """,,""")
Set regEx = Nothing

Set regEx = New RegExp
regEx.Pattern = """=dword:"
regEx.IgnoreCase = True
str_RegValue = regEx.Replace(str_RegValue , """,0x00010001,0x")
Set regEx = Nothing

Set regEx = New RegExp
regEx.Pattern = """=hex:"
regEx.IgnoreCase = True
str_RegValue = regEx.Replace(str_RegValue , """,0x00000001,")
Set regEx = Nothing

Set regEx = New RegExp
regEx.Pattern = """=hex\(0\):"
regEx.IgnoreCase = True
str_RegValue = regEx.Replace(str_RegValue , """,0x00020001,")
Set regEx = Nothing


Set regEx = New RegExp
regEx.Pattern = "\\\\"
regEx.IgnoreCase = True
regEx.Global = True
str_RegValue = regEx.Replace(str_RegValue , "\")
Set regEx = Nothing

if (len(str_RegValue) - instr(str_RegValue,"\""") < 2) then
flag_removequot = 1
else
flag_removequot = 0
end if

Set regEx = New RegExp
regEx.Pattern = "\\"""
regEx.IgnoreCase = True
regEx.Global = True
str_RegValue = regEx.Replace(str_RegValue , """""")
Set regEx = Nothing

if (flag_removequot = 1) then
str_RegValue = left(str_RegValue,len(str_RegValue) - 2) & "\"""
end if

'Conversion REG_EXPAND_SZ
if (instr(str_RegValue,"=hex(2):")) then
bin_Expand_SZ = mid(str_RegValue,instrrev(str_RegValue,"=hex(2):")+8)
str_RegValueName = left(str_RegValue,instrrev(str_RegValue,"=hex(2):")-1)

str_Expand_SZ = ""
if inStr(bin_Expand_SZ,",") then
aa=split(bin_Expand_SZ,",")
for i=0 to Ubound(aa)
if aa(i)<>"00" Then
str_Expand_SZ = str_Expand_SZ + Chr("&H"+aa(i))
else
exit for
end if
if (flag_Unicode = 1) then i=i+1
next
end if
str_Expand_SZ = Replace(str_Expand_SZ , """", """""")
str_RegValue = str_RegValueName & ",0x00020000,""" & str_Expand_SZ & """"
end if


'Conversion REG_MULTI_SZ
if (instr(str_RegValue,"=hex(7):")) then
bin_Multi_SZ = mid(str_RegValue,instrrev(str_RegValue,"=hex(7):")+8)
str_RegValueName = left(str_RegValue,instrrev(str_RegValue,"=hex(7):")-1)

str_Multi_SZ = """"
if inStr(bin_Multi_SZ,",") then
aa=split(bin_Multi_SZ,",")
for i=0 to Ubound(aa)
if aa(i) <> "00" Then
str_Multi_SZ = str_Multi_SZ & Chr("&H"+aa(i))
else
if Ubound(aa) - i > 3 Then str_Multi_SZ = str_Multi_SZ & ""","""
end if
if (flag_Unicode = 1) then i=i+1
next
end if
str_Multi_SZ = Replace(str_Multi_SZ , """""", """""""")
str_Multi_SZ = str_Multi_SZ & """"
str_RegValue = str_RegValueName & ",0x00010000," & str_Multi_SZ
end if


if (right(str_RegValue,1)=",") then str_RegValue = left(str_RegValue,len(str_RegValue)-1)


InfFile.WriteLine str_keypath & str_RegValue

end if
message="Conversation Finished."
End if
Loop
objFile.Close
InfFile.WriteLine ""
InfFile.WriteLine "[Strings]"
InfFile.WriteLine "REG_SZ = 0x00000000"
InfFile.WriteLine "REG_MULTI_SZ = 0x00010000"
InfFile.WriteLine "REG_EXPAND_SZ = 0x00020000"
InfFile.WriteLine "REG_BINARY = 0x00000001"
InfFile.WriteLine "REG_DWORD = 0x00010001"
InfFile.WriteLine "REG_SZ_APPEND = 0x00010008"
InfFile.WriteLine "REG_NONE = 0x00020001"

InfFile.Close

else
message="Incorrect Syntax." & vbcrlf & ""
End If

Msgbox message, typemessage , "Reg2Inf"[/CODE]

sitede verdim mi hatırlamıyorum ama galiba reg2au3 vermiştim...

Bu da alternatif olsun bunu notepade yazın ve uzantısını vbs yapın.Denemedim ama C:\program file olarak kalırsa değerler onları da notepadle ctrl+h ile değiştirebilirsiniz.

Link to comment
Share on other sites

Hmm aklımda HKLM'i yanlış çeviriyor diye kalmış ama sayfasına baktım da öyle bi şikayet yok programı ben hiç denemedim valla bilemmiyorum hemen iletimi düzenliyip arkadaştan da özür diliyorum...Neyse sadece bi alternatif olmuş olsun bu da.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...