Autoit LANGID?

Programlama dilleri konusunda bilgi paylaşım alanıdır.
Cevapla
anxious
Byte3
Byte3
Mesajlar: 105
Kayıt: 11 Mar 2015, 07:56

Autoit LANGID?

Mesaj gönderen anxious »

@BlueLife Resimde gösterdiğim langid değerini Manuel haricinde nasıl değiştirebilirim?
https://prnt.sc/rwiqx6

Kullanıcı avatarı
trwe
Petabyte4
Petabyte4
Mesajlar: 8697
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Konum: Orion Takımyıldızı-Bertuna Planet

Re: Autoit LANGID?

Mesaj gönderen trwe »

anxious yazdı:
10 Nis 2020, 07:58
@BlueLife Resimde gösterdiğim langid değerini Manuel haricinde nasıl değiştirebilirim?
https://prnt.sc/rwiqx6
Yabancı kaynaklar da şöyle aratabilirsin

How can I change the Autoit langid value except for Manual?
TRWE_2012-GET LINUXMASTER#>_
Follow me, you won't regret it ....!
Alaydan Yetişme PC Kullanıcısı

Birşeyin doğruluğuna inanıyorsanız, sonuna kadar savunun......! Eğer savunduğunuza inanmıyorsanız, işte o zaman siz SAHTEKAR'sınız demektir.

Kullanıcı avatarı
BlueLife
Kilobyte1
Kilobyte1
Mesajlar: 203
Kayıt: 29 Ağu 2014, 20:42

Re: Autoit LANGID?

Mesaj gönderen BlueLife »

@anxious

AutoIt3Wrapper ile bunu sağlıyorduk. Türkçe için örnek;
#AutoIt3Wrapper_Res_Language=1055

AutoIt3Wrapper komutları;
https://www.autoitscript.com/wiki/AutoI ... Directives

Dil kodları;
https://www.autoitscript.com/autoit3/do ... gCodes.htm

anxious
Byte3
Byte3
Mesajlar: 105
Kayıt: 11 Mar 2015, 07:56

Re: Autoit LANGID?

Mesaj gönderen anxious »

@trwe Zaten Manuel şu programlarla değiştirebiliyorum Restorator,Resource Hacker,Cff Explorer.
@trwe Yanlış anladınız "Manuel haricinde!"

@BlueLife #AutoIt3Wrapper_Res_Language=1055 parametresi şurayı ayarlıyor https://prnt.sc/rwtwde
benim bahsettiğim herhangi bir resource editör ile açtığımızda
Cff Explorer veya Resource Hacker gibi
resimde görülen yer https://prnt.sc/rwtzd8

Aslında şu kodlar beni anlamanıza yardımcı olabilir.
Bu kodlar yapıyor fakat var olanı değilde dışarıdan eklenenin dilini ayarlıyor.
Kısacası Bunu ayarlayan kernel32.dll
DllCall("kernel32.dll","int","UpdateResource","hwnd",$hUpdate,"long",$lpType,"str",$lpName,"short",$wLanguage,"ptr",$pBuffer,"DWORD",$tSize)

Kod: Tümünü seç

#Include <WinAPI.au3>

_UpdateResource("Source.exe")

Func _UpdateResource($sFile = "AUTOIT.EXE",$lpType = 10 ,$lpName = "SCRIPT", _
$wLanguage = 2057,$bDiscard = False,$InpResFile = "TXT.TXT")

$hUpdate =  _BeginUpdateResource($sFile)
Local $result, $hFile, $tSize, $tBuffer, $pBuffer,$bread = 0
Select
Case $lpType = 10 OR $lpType = 16 OR $lpType = 24;RT_RCDATA, RT_VERSION and RT_MANIFEST
$hFile = _WinAPI_CreateFile($InpResFile, 2, 2)
IF @error THEN Return 0
$tSize = FileGetSize($InpResFile)
IF @error THEN Return 0
$tBuffer = DllStructCreate("char Text[" & $tSize & "]")
IF @error THEN Return 0
$pBuffer = DllStructGetPtr($tBuffer)
IF @error THEN Return 0
_WinAPI_ReadFile($hFile, $pBuffer, FileGetSize($InpResFile), $bread, 0)
IF @error THEN Return 0
_WinAPI_CloseHandle($hFile)
IF @error THEN Return 0
$result = DllCall("kernel32.dll","int","UpdateResource", _
                                    "hwnd",$hUpdate, _
                                    "long",$lpType, _
                                    "str",$lpName, _
                                    "short",$wLanguage, _
                                    "ptr",$pBuffer, _
                                    "DWORD",$tSize)
IF @error THEN
Return 0
Else
_EndUpdateResource($hUpdate,$bDiscard)
Return 1
EndIf
EndSelect
EndFunc

Func _BeginUpdateResource($sFile)
$aReturn = DllCall("kernel32.dll","int","BeginUpdateResource","str",$sFile,"int",False)
Return $aReturn[0]
EndFunc

Func _EndUpdateResource($hResource,$bDiscard = 0)
$result = DllCall("kernel32.dll", "int", "EndUpdateResource", "int", $hResource, "int", $bDiscard)
EndFunc

Kullanıcı avatarı
BlueLife
Kilobyte1
Kilobyte1
Mesajlar: 203
Kayıt: 29 Ağu 2014, 20:42

Re: Autoit LANGID?

Mesaj gönderen BlueLife »

@anxious

AutoIt3Wrapper komutlarında dil kodunu girebilirsin. Örnek;

#AutoIt3Wrapper_Res_File_Add=SETUP.EXE, rt_rcdata, SETUP.EXE,1055
#AutoIt3Wrapper_Res_File_Add=IMAGE.PNG, rt_rcdata,IMAGE.PNG,1055

anxious
Byte3
Byte3
Mesajlar: 105
Kayıt: 11 Mar 2015, 07:56

Re: Autoit LANGID?

Mesaj gönderen anxious »

@BlueLife Verdiğiniz komutlar RCData klasörüne sonradan eklenecek olanlar için geçerli.
Yani yukarıda verdiğim kodlarla aynı işi görüyor fakat ben derlenmiş olan bir exe üzerinde çalışıyorum.

Kullanıcı avatarı
BlueLife
Kilobyte1
Kilobyte1
Mesajlar: 203
Kayıt: 29 Ağu 2014, 20:42

Re: Autoit LANGID?

Mesaj gönderen BlueLife »

@anxious

Ben derlediğin autoit uygulaması için soruyorsun sandım. ilk mesajda belirtmediğin için malesef yanlış anlamışım.
Konuya dönersek bu konuda malesef fazla fikrim yok :(

Çok uzun yıllar önce Resource Hacker prametreleri ile uygulamanın resource alanındaki dosyaları güncelliyordum. Autoit kodlarıyla halledemezsen bu tip bir yöntem izleyebilirsin. Kısaca Autoit uygulaması üzerinden ilgili resource programlarını parametreleri aracılığıyla çalıştırılabilir.
Kolay gelsin.

anxious
Byte3
Byte3
Mesajlar: 105
Kayıt: 11 Mar 2015, 07:56

Re: Autoit LANGID?

Mesaj gönderen anxious »

Resource Hacker de birçok parametre denedim ama malesef onda başarılı olamadım.
Denediğim son komut : http://www.angusj.com/resourcehacker/
ResourceHacker.exe -open old.exe -save new.exe -action modify -mask RCData,SCRIPT,1055

Cevapla