SAYGINER Posted April 8, 2012 Share Posted April 8, 2012 İyi akşamlar arkadaşlar.Autoitle katılımsız yaparken bir sorunla karşılaşıyorum.Bir türlü serial kaydını yapamıyorum.Her kuruluşta lisansız kuruluyor ve kurulumdan sonra internet bağlantısı arıyor.Bu sorunları nasıl düzeltebilirim.Saygılarımla [codebox] Opt("WinWaitDelay",100) Opt("WinTitleMatchMode",4) Opt("WinDetectHiddenText",1) Opt("MouseCoordMode",0) Run('asc5-setup.exe') WinWait("Advanced SystemCare 5 - Kur","Advanced SystemCare ") WinWaitActive("Advanced SystemCare 5 - Kur","Advanced SystemCare ") Send("{ENTER}{CTRLUP}") WinWait("Advanced SystemCare 5 - Kur"," Inno Setup 5.1+ Tür") WinWaitActive("Advanced SystemCare 5 - Kur"," Inno Setup 5.1+ Tür") Send("{TAB}{UP}{DOWN}{TAB}{DOWN}{LEFT}{DOWN}{DOWN}{ENTER}{ENTER}{ENTER}") WinWait("Advanced SystemCare 5 - Kur","Advanced SystemCare ") WinWaitActive("Advanced SystemCare 5 - Kur","Advanced SystemCare ") Send("{ENTER}") WinWait("Advanced SystemCare yapılandırılıyor","Şimdi Başlat") WinWaitActive("Advanced SystemCare yapılandırılıyor","Şimdi Başlat") Send("{TAB}{ENTER}{CTRLUP}") WinWait("Advanced SystemCare - Güncelleme","Sonra karar ver") WinWaitActive("Advanced SystemCare - Güncelleme","Sonra karar ver") Send("{RIGHT}{ENTER}") WinWait("Advanced SystemCare V5","") WinWaitActive("Advanced SystemCare V5","") Send("{DOWN}{UP}{DOWN}{TAB}{LEFT}{DOWN}{UP}{RIGHT}") WinWait("Kaydet","Şimdi Etkinleştir") WinWaitActive("Kaydet","Şimdi Etkinleştir") Send("d735f-51e931b1e4-c8ad4") Send("{TAB}") Send("{ENTER}") WinWait("Kaydet","Bu lisans etkinleşti") WinWaitActive("Kaydet","Bu lisans etkinleşti") Send("{ENTER}") WinWait("Kaydet","Şimdi Etkinleştir") WinWaitActive("Kaydet","Şimdi Etkinleştir") Send("{ENTER}{TAB}{ENTER}")[/codebox] Quote Link to comment Share on other sites More sharing options...
Mehmet Posted April 9, 2012 Share Posted April 9, 2012 (edited) senin Send WinWait WinWaitActive bu komutlarlada olur ama katılımsız kurulum parametresi ile kurdurmak daha sağlam olur Advanced SystemCarenin katılımsız parametresi /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- autoitle katılımsız yapacağın programın önce katılımsız parametresini öğrenmelisin nasıl öğrenirim dersen şöyle örneğin Advanced SystemCarenin katılımsız parametresini bulacağız öncelikle Başlat->Çalıştır->cmd çıkan msdos ekranına Advanced SystemCare programını sürükle ve bırak daha sonra /? yaz enter eğer bulunmaz ise parametre yani parametre ile ilgili bir pencere görmezisen ozaman USSF yani Universal Silent Switch Finder adlı minik programla bulabilirsin resimde gördüğün gibi Inno Setup ile paketlenmiş genelde Inno Setup ile paketlenen programların katılımsız parametresi /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- olur veya /S olur [img]http://i.imgur.com/x8zZj.jpg[/img] veya dosya uzantısı .msi ise katılımsız parametresi /qn veya /qb dir serial kaydına gelince serial girmenin bir çok yolu vardır şimdi onada bakıyorum hemen dönerim Advanced SystemCare biraz zormuş bu yüzden kodlar uzadıkça uzadı ama bu kodlar gözünü korkutmasın hevesin kaçmasın çünki neredeyse kodların bir çoğu copy paste yani bu kodları alıp başka bir program için editlemen mümkün [codebox] ;--YAPIMCI VE VERSİYON BİLGİLERİ---- #Region #AutoIt3Wrapper_Icon=x.ico ;İCONUMUZ #AutoIt3Wrapper_Res_Description=5.0.0.158 MNY #AutoIt3Wrapper_Res_Fileversion=5.0.0.158 #AutoIt3Wrapper_Res_LegalCopyright=© 2012 MNY #AutoIt3Wrapper_Res_Field=Script Writer|MNY #endregion ;--YAPIMCI VE VERSİYON BİLGİLERİ---- #RequireAdmin ;YÖNETİCİ OLARAK ÇALIŞTIR Opt("TrayMenuMode", 1) TrayTip(".::MeHMeT::.UYARI!", "Advanced SystemCare 5 yüklenirken lütfen bekleyiniz", 30, 4);YÜKLENİRKEN BİLGİ VERELİM Sleep(2000) FileInstall("asc5-setup.exe",@TempDir & "\asc5-setup.exe") ;Setup DOSYAMIZI AUTOİT İÇİNE GÖMELİM VE TEMP'E ÇIKARALIM ShellExecuteWait(@TempDir & "\asc5-setup.exe","/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-","","",@SW_HIDE);KATILIMSIZ PARAMETRESİYLE KURALIM FileDelete(@TempDir & "\asc5-setup.exe");KURULUM BİTTİ TEMPDEN SİLELİM ProcessClose("IEXPLORE.EXE");INTERNET EXPLORER SAYFASINI AÇIYOR KAPATALIM ;-----------------------PROGRAM KURULUMDAN SONRA ÇALIŞIYOR PROGRAMIN ÇALIŞTIĞI KLASÖRDEN KAPATIYORUZ BLUE_LİFE ARKADAŞIMIZDAN ALINTIDIR BU KOD--- _ProcessCloseLocation(@ProgramFilesDir & "\IObit\Advanced SystemCare 5") Func _ProcessCloseLocation($BlueGetLoca) If StringRight($BlueGetLoca, 1) <> "\" Then $BlueGetLoca &= "\" If FileExists($BlueGetLoca) = 0 Then Return SetError(1, 0, 0) Local $ErrorLacation = "|" & StringLeft(@WindowsDir, 3) & "|" & @WindowsDir & "\|" & @WindowsDir & "\System32\|" If StringInStr($ErrorLacation, "|" & $BlueGetLoca & "|") <> 0 Then Return SetError(1, 0, 0) Local $Process_list = ProcessList() If UBound($Process_list) Then ReDim $Process_list[UBound($Process_list)][5] For $i = 1 To $Process_list[0][0] $Process_list[$i][2] = FileGetLongName(_ProcessGetLocation($Process_list[$i][1])) $Process_list[$i][3] = StringTrimRight($Process_list[$i][2], StringLen($Process_list[$i][0])) If $Process_list[$i][3] = $BlueGetLoca Then $Process_list[$i][4] = ProcessClose($Process_list[$i][1]) EndIf Next EndIf EndFunc ;==>_ProcessCloseLocation Func _ProcessGetLocation($iPID); Programın çalıştığı dizin Local $aProc = DllCall('kernel32.dll', 'hwnd', 'OpenProcess', 'int', BitOR(0x0400, 0x0010), 'int', 0, 'int', $iPID) If $aProc[0] = 0 Then Return SetError(1, 0, '') Local $vStruct = DllStructCreate('int[1024]') DllCall('psapi.dll', 'int', 'EnumProcessModules', 'hwnd', $aProc[0], 'ptr', DllStructGetPtr($vStruct), 'int', DllStructGetSize($vStruct), 'int_ptr', 0) Local $aReturn = DllCall('psapi.dll', 'int', 'GetModuleFileNameEx', 'hwnd', $aProc[0], 'int', DllStructGetData($vStruct, 1), 'str', '', 'int', 2048) If StringLen($aReturn[3]) = 0 Then Return SetError(2, 0, '') Return $aReturn[3] EndFunc ;==>_ProcessGetLocation ;---------ADVANCED SYSTEMCARE VE BERABERİNDE ARKAPLANDA ÇALIŞAN ADVANCED SYSTEMCAREYE AİT TÜM PROGRAMLARI KAPATMA KODUNUN SONU-------------- ;-----------IP BLOKLAMA KOD BAŞLANGICI--------ADVANCED SYSTEMCARE'NİN IPLERİNİ BLOKLAYALIM BİZİM SERİAL YAKALANMASIN BUDA BLUE_LİFE ARKADAŞIMIZIN KODLARINDAN ALINTIDIR----------- Local $HostFile = @WindowsDir & "\System32\drivers\etc\hosts" ;Dosyayı okuyoruz. Local $BlueReadFile = _Blue_FileRead_To_Array($HostFile, False) ;Ilgili içerikte domainin olup olmadığına bakıyoruz, yoksa alt satıra ekliyoruz. _Blue_Host_Adline($BlueReadFile, "127.0.0.0", "localhost") _Blue_Host_Adline($BlueReadFile, "127.0.0.1", "http://www.iobit.com") _Blue_Host_Adline($BlueReadFile, "127.0.0.1", "iobit.com") _Blue_Host_Adline($BlueReadFile, "127.0.0.1", "98.129.229.186") _Blue_Host_Adline($BlueReadFile, "127.0.0.1", "http://www.iana.org") _Blue_Host_Adline($BlueReadFile, "127.0.0.1", "iana.org") ; .... EĞER BAŞKA VARSA BU ŞEKİLDE ALT ALTA SIRALAYABİLİRSİN------- ;Değiştirdiğimiz içeriği yazıyoruz. _Blue_Host_Write($BlueReadFile, $HostFile) Func _Blue_Host_Adline(ByRef $ArrayList, $IP, $Domain) Local $Find_Domain, $BLUE_LINE, $BL_Instr For $I = 1 To $ArrayList[0] $BLUE_LINE = StringStripWS($ArrayList[$I], 3) If StringIsDigit(StringLeft($BLUE_LINE, 1)) = 0 Then ContinueLoop $BL_Instr = StringInStr($BLUE_LINE, Chr(32)) If $BL_Instr = 0 Then $BL_Instr = StringInStr($BLUE_LINE, @TAB) If $BL_Instr = 0 Then ContinueLoop $Find_Domain = StringStripWS(StringTrimLeft($BLUE_LINE, $BL_Instr), 3) If $Find_Domain = $Domain Then $ArrayList[$I] = $IP & " " & $Domain Return 1 EndIf Next If UBound($ArrayList) >= $ArrayList[0] Then ReDim $ArrayList[$ArrayList[0] + 100] $ArrayList[0] += 1 $ArrayList[$ArrayList[0]] = $IP & " " & $Domain Return 1 EndFunc ;==>_Blue_Host_Adline Func _Blue_Host_Write(ByRef $ArrayList, $TARGET_FILE) Local $Return = True, $Blue_Write FileSetAttrib($TARGET_FILE, "-RSH") Local $File_hwnd = FileOpen($TARGET_FILE, 2) If $File_hwnd = -1 Then $Return = False Else For $I = 1 To $ArrayList[0] $Blue_Write &= $ArrayList[$I] & @CRLF Next If FileWrite($TARGET_FILE, $Blue_Write) = 0 Then $Return = False EndIf FileSetAttrib($TARGET_FILE, "-RSH") If $Return = False Then Return SetError(1, 0, 0) Return 1 EndFunc ;==>_Blue_Host_Write Func _Blue_FileRead_To_Array($TARGET_FILE, $SStripWS = True) ;Dosya|Fazla enterleri silmek Local $Return_Array[1] = [0] Local $FileGetSize = FileGetSize($TARGET_FILE) If $TARGET_FILE = "" Or FileExists($TARGET_FILE) = 0 Or $FileGetSize = 0 Then Return SetError(1, 0, $Return_Array) Local $File_hwnd = FileOpen($TARGET_FILE, 0) If $File_hwnd = -1 Then Return SetError(2, 0, $Return_Array) Local $File_Read = FileRead($File_hwnd, $FileGetSize) FileClose($File_hwnd) If StringLen($File_Read) < 1 Then Return SetError(3, 0, $Return_Array) If StringInStr($File_Read, @LF) Then $File_Read = StringStripCR($File_Read) ElseIf StringInStr($File_Read, @CR) Then $File_Read = StringReplace($File_Read, @CR, @LF) EndIf If $SStripWS = True Then Do $File_Read = StringReplace($File_Read, @LF & @LF, @LF) Until @extended = 0 $File_Read = StringStripWS($File_Read, 3) EndIf $Return_Array = StringSplit($File_Read, @LF) Return $Return_Array EndFunc ;==>_Blue_FileRead_To_Array ;-----------IP BLOKLAMA KOD BİTİŞİ---------------------------------------------------------- ;---BU SERİALE GÖRE YAPTIM -- D735F-51E93-1B1E4-C8AD4 ------ ;BEN KURARKEN REGEDİT'E BÖYLE BİR ANAHTAR YAZMIŞTI NE OLUR NE OLMAZ ANAHTARI TEKRAR GİRELİM VEDE KENDİ KLASÖRÜNDE SERİAL GİRDİKTEN SONRA BİR KAÇ DOSYA DEĞİŞİKLİĞİ OLDU ONLARIDA İADE EDELİM ---- RegWrite('HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\Advanced SystemCare', '', 'REG_SZ','{9486A9B2-D787-4eca-A25C-4A0086BB4154}') FileInstall("License.dat",@ProgramFilesDir & "\IObit\Advanced SystemCare 5\License.dat",1) FileInstall("Register.exe",@ProgramFilesDir & "\IObit\Advanced SystemCare 5\Register.exe",1) FileInstall("Reg.dbd",@ProgramFilesDir & "\IObit\Advanced SystemCare 5\Reg.dbd",1) TrayTip(".::MeHMeT::.UYARI!", "Advanced SystemCare 5 Başarıyla Yüklendi", 10, 4);KURULUM TAMAMLANDI BİLGİSİ VERELİM Sleep(2000) [/codebox] işte sonuç baktınki olmadı katılımsız yaptığın paylaşımın yanında birde bu seriali verirsin olur biter D735F-51E93-1B1E4-C8AD4 [spoiler][img]http://i.imgur.com/wIYmq.jpg[/img][/spoiler] Diğer tüm dosyalar ve kaynak kodlarına buradanda ulaşabilirsin [code]http://www.mediafire.com/?wc0hy6jxok75fh0[/code] Edited April 9, 2012 by MeHMeTBeN Quote Link to comment Share on other sites More sharing options...
SAYGINER Posted April 16, 2012 Author Share Posted April 16, 2012 Selamlar MeHMeTBeN Kardeşim.Yapıp gönderdiğin Advanced System Carede seriali nereye yazdın bir türlü bulamadım.Başka programlara entegre edeceğim ama serial sorununu çözemiyorum.Sessiz kurulum parametresi ile yaptığın için güzel olmuş.Saygılar. Quote Link to comment Share on other sites More sharing options...
Mehmet Posted April 17, 2012 Share Posted April 17, 2012 yanında verdiğim açıklamalarda belirtim ya yani önce manuel kendim programı kurdum ve serial girdim daha sonra programın kendi dizininde serial girdikten sonra ne değişiklik yapıyorsa izledim ve o değişiklikleri bir kenara kopyasını aldım normalde her program bu şekilde katılımsız olmayabilir programdan programa değişir Quote Link to comment Share on other sites More sharing options...
daft117 Posted April 29, 2012 Share Posted April 29, 2012 bu programda geçerli olur mu bilmem de, bu kadar satır kod yazmaya gerek yok. 1. arkadaşın dediği gibi katılımsız parametre kullanarak kur. 2. sanal xp'de (temiz, hiçbi program kurulu olmayan) total uninstall ile serial girerken yaptıgı değişiklikleri bulacaksın bu regedit'te de olabilir, herhangi bi dosyada da saklayabilir regedit'te saklıyorsa .reg olarak kaydedip internetten buldugun Reg2Au3 programıyla AU3 kodlarına dönüştürüp projene ekliyceksin. Quote Link to comment Share on other sites More sharing options...
by_irfan Posted June 13, 2012 Share Posted June 13, 2012 [quote name='daft117' date='29 April 2012 - 23:24 ' timestamp='1335734672' post='1194340'] bu programda geçerli olur mu bilmem de, bu kadar satır kod yazmaya gerek yok. 1. arkadaşın dediği gibi katılımsız parametre kullanarak kur. 2. sanal xp'de (temiz, hiçbi program kurulu olmayan) total uninstall ile serial girerken yaptıgı değişiklikleri bulacaksın bu regedit'te de olabilir, herhangi bi dosyada da saklayabilir regedit'te saklıyorsa .reg olarak kaydedip internetten buldugun Reg2Au3 programıyla AU3 kodlarına dönüştürüp projene ekliyceksin. [/quote] Bu program için geçerli olmuyor.Çünkü sadece reg kaydı değil dosyalarda da ekleme yapıyor.Bu yüzden en ideali repack yapmak. Quote Link to comment Share on other sites More sharing options...
DivaneTR Posted July 9, 2012 Share Posted July 9, 2012 [color="#8B0000"]ControlCommand() yöntemiyle daha düzgün ve kusursuz bi kurulum gerçekleştirebilirsiniz. Kullanıcının mouse ve klavye hareketlerinden de etkilenmemiş olur.[/color] Quote Link to comment Share on other sites More sharing options...
DivaneTR Posted July 10, 2012 Share Posted July 10, 2012 [color="#8B0000"]Autoit'teki control command'dan bahsediyorum, biliyor olmalısın.[/color] Quote Link to comment Share on other sites More sharing options...
SimpsoN_Bart Posted July 10, 2012 Share Posted July 10, 2012 [quote name='ibocan06' date='09 July 2012 - 21:31 ' timestamp='1341858676' post='1220083'] @ Baba_ Yapsanızda öğrensek. Basit bir program deil gibi geldi bana... [/quote] [b]Yapsanızda öğrensek derken ? Sitede bununla ilgili memleket kadar örnek ve anlatım verildi.Onu geçtim help dosyası diye bişey icat etmişler çok güzel diye duydum.Hazırcı olmayın biraz araştırma yapın ve kafanızı kullanın.[/b] Quote Link to comment Share on other sites More sharing options...
SimpsoN_Bart Posted July 10, 2012 Share Posted July 10, 2012 [font="Tahoma"]Forumda autoit ile katılımsız yapma hakkında videolar var onları incele.Help dosyasını iyi araştır çok zor bir şey değil inan bana.[/font] Quote Link to comment Share on other sites More sharing options...
SimpsoN_Bart Posted July 10, 2012 Share Posted July 10, 2012 (edited) [font="Tahoma"]Tamam mauseclick ile yapılıyorsa onunla yapabilirsin.[/font] Edited July 10, 2012 by SimpsoN_Bart Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.