Jump to content

Archived

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

sk8er_boi

İleri düzey AutoIT örnekleri

Recommended Posts

olmuyor sanırım xtrap engelliyor macroları...

Share this post


Link to post
Share on other sites

sk8er_boi abi klasör kopyalamanın bir yolu var mı ? sadece dosyaları tektek değil bütün halinde klasör kopyalamak istiyorum bi program yapacağım yapmam için klasör kopyalayabilmem lazım yardımcı olursan çok sevinirim

Share this post


Link to post
Share on other sites
Script programımızı yeniden başlatma

Func _restart()
If @Compiled = 1 Then
Run( FileGetShortName(@ScriptFullPath))
Else
Run( FileGetShortName(@AutoItExe) & " " & FileGetShortName(@ScriptFullPath))
EndIf
Exit
EndFunc;==>_restart[/CODE]

[color=#2E8B57][b]Bu kodu scriptin altına kopyaladığımda yeniden başlatmıyor.Mesela run komutuyla çalıştırdığım dosyanın ismi nero.exe.

1=Bu ismi yukarıdaki kodların neresine yazmalıyım ki tekrar başlatsın.

2=10 kere scriptin yeniden başlatılmasını istiyorum.Bu rakamı nereye yazacağım ?[/b][/color]

Share this post


Link to post
Share on other sites
sk8er_boi abi klasör kopyalamanın bir yolu var mı ? sadece dosyaları tektek değil bütün halinde klasör kopyalamak istiyorum bi program yapacağım yapmam için klasör kopyalayabilmem lazım yardımcı olursan çok sevinirim

dircopy komutunu kullanman gerek.

Bu kodu scriptin altına kopyaladığımda yeniden başlatmıyor.Mesela run komutuyla çalıştırdığım dosyanın ismi nero.exe.

1=Bu ismi yukarıdaki kodların neresine yazmalıyım ki tekrar başlatsın.

2=10 kere scriptin yeniden başlatılmasını istiyorum.Bu rakamı nereye yazacağım ?

Bu bir fonksiyondur. Başlatmak istediğin yerde _restart() yazarak bu fonksiyonu çağırabilirsin.

10 kere saydırmak için değişken kullanamazsın çünkü program yeniden başladığı zaman değişkenler sıfırlacaktır.

Bunu registry ile halledebiliriz.

Func _restart()
     If @Compiled = 1 Then
          Run( FileGetShortName(@ScriptFullPath))
     Else
          Run( FileGetShortName(@AutoItExe) & " " & FileGetShortName(@ScriptFullPath))
     EndIf
     Exit
 EndFunc;==>_restart

while  regread("HKEY_CURRENT_USER\Software\sk8er_boi","sayi")<>10 
	regwrite("HKEY_CURRENT_USER\Software\sk8er_boi\","sayi","REG_SZ",regread("HKEY_CURRENT_USER\Software\sk8er_boi","sayi") +1)
	_restart()
	WEnd
		regwrite("HKEY_CURRENT_USER\Software\sk8er_boi\","sayi","REG_SZ",0)

Share this post


Link to post
Share on other sites

bide fileinstall komutu gibi dirinstall(baktım yoktu adı değişiktir belki diye soruyorum) yokmu programın kendi içine almasını istiyorum klasörü sonra çalıştırınca istediğim yere klasörü koymasını istiyorum , teşekkürler

Share this post


Link to post
Share on other sites

dosya kopyalatırken kopyalama bittiği anda msj cıkmasını istiyorum nasıl yapabilirim

DirCopy(@AppDataDir & "\vesayre", "D:\yedek", 1)[/CODE]

Share this post


Link to post
Share on other sites
Geçenlerde cd hazırlarken skype yeni sürümünü eklemek istedim.Ekledim 1 hafta geçmeden üstüste iki yeni versiyonu çıktı.Dedim bunula uğraşılmaz :blink: .Autoit forumlarında gezerken crap cleaner için internetten indirip temizlik yapan bir script buldum,skype,live messenger için tekrar düzenledim.Dosyaları indirip otomatik kurulumlarını yapıyor.Bu halleriyle cd'ye ekledim.Derleyince 300-500 kb. birşey tuttular.Zaten scriptlerde programlarda mecburi internet bağlantısı istediği için bu sayede herzaman en son sürüm bilgisayara yüklenmiş oluyor.

Msn Live Messenger

Skype

Sayın F_s_M ustam. Yukarıdaki kodlar ile çok ihtiyaç duyulan bir olgu gerçekleşmiş olacak, Fakat zaten Yüklü olan bir programın güncellemesini yapmamakta sadece kurulu olmayan bir programı indirip kurmakta olduğunu gördüm. Kod eklemesi ile şöyle bir şekle döndürülebilir mi?

Ayrıca konu dışı bir sorum olacak. Autoit scripti yazarken *.zip veya *.rar dosyalarını açma komutu verip açıldığı yerden bir pro. nun çazlıştırılması mümkün mü? Teşekkürler.

Share this post


Link to post
Share on other sites
bide fileinstall komutu gibi dirinstall(baktım yoktu adı değişiktir belki diye soruyorum) yokmu programın kendi içine almasını istiyorum klasörü sonra çalıştırınca istediğim yere klasörü koymasını istiyorum , teşekkürler

FileInstall Klasörleride kopyalıyor

dosya kopyalatırken kopyalama bittiği anda msj cıkmasını istiyorum nasıl yapabilirim

DirCopy(@AppDataDir & "\vesayre", "D:\yedek", 1)[/CODE]

DirCopy("e:\hellsing", "e:\hellsing1", 1)

msgbox(0,"k","Tamam")

Share this post


Link to post
Share on other sites

adminim ve arkadaşlar bir sorunum vardı.? ben bir proğram kurduruyorum sessiz kurulum(ekranda hiç birşey yok.) ben bir şekilde proğram kurulum sırasında reklam amaçlı veya bekleyiniz gibi uyarı amaçlı başından sonuna kadar bir resim aktarabilir miyim..? Nerox arkadaşımın x, y, kordiyatöründe baktımda mause'nin yanına yazı yazdırabiliniyor burdan yapabilirim dedim.

While 1 
ToolTip("örnek")

*Kurulumda kullandığım kodlar.*

WEnd[/CODE]

fakat burdaki gibi yapıyorum sadece örnek yazısı gözüküyor proğram kurulmuyor..?

sebebi ne olabilir..?

____________________________________________

teşekkürler..[/b]

Share this post


Link to post
Share on other sites
adminim ve arkadaşlar bir sorunum vardı.? ben bir proğram kurduruyorum sessiz kurulum(ekranda hiç birşey yok.) ben bir şekilde proğram kurulum sırasında reklam amaçlı veya bekleyiniz gibi uyarı amaçlı başından sonuna kadar bir resim aktarabilir miyim..? Nerox arkadaşımın x, y, kordiyatöründe baktımda mause'nin yanına yazı yazdırabiliniyor burdan yapabilirim dedim.
While 1 
ToolTip("örnek")

*Kurulumda kullandığım kodlar.*

WEnd[/CODE]

fakat burdaki gibi yapıyorum sadece örnek yazısı gözüküyor proğram kurulmuyor..?

sebebi ne olabilir..?

____________________________________________

teşekkürler..[/b]

[CODE]func too()
ToolTip("NABER",300,300)
EndFunc
AdlibEnable("too",10)[/CODE]

too functionunu 10ms'de bir çalıştırır. Böylece senin programına mani olmaz.

Share this post


Link to post
Share on other sites

ne iş yapıyor derseniz..

size bir klasör oluşturmanızı isitiyor oluşturduğunuz klasöre masa üstünüzdeki x klasörünü kopyalıyor bittikten sonra sıkıştırıyor oda bittikten sonra kopyalana klasörü siliyor. Nasıl ama ilk denemem :)

#include <Array.au3>
#include <File.au3>
$value = InputBox("::.. Joy Bilgi İşlem Yedekleme  ..::", "KLASÖR ADINI GİRİNİZ:", "", " M12")

	  DirCreate($value)
_CopyWithProgress("C:\Documents and Settings\onder\Desktop\x", ($value), 1)

Func _CopyWithProgress($SourcePath, $DestPath, $Replace=0)
	If Not FileExists($SourcePath) Then Return SetError(1, 0, -1)
	If Not StringInStr(FileGetAttrib($DestPath), "D") And Not DirCreate($DestPath) Then Return SetError(2, 0, "")
	If $Replace <> 0 And $Replace <> 1 Then SetError(3, 0, "")

	Local $PathName = StringRegExpReplace($SourcePath, "^.*\\", "")
	Local $Progress=0, $Counter, $ReadySize, $MidlePath, $Ready, $TimeRemained
	Local $CurrentFilePath, $CurrentFileName, $CurrentFilePathName, $CurrentParentDirName

	ProgressOn("Yedekleme yapılıyor...", "Kopyalanan: " & $PathName, "....." & @LF & "Bekleyin...")

	Local $TotalDirSize = DirGetSize($SourcePath)
	Local $FilesArr = _FileListToArrayEx($SourcePath)
	Local $FilesCount = UBound($FilesArr)-1
	Local $ProgressStep = 100 / $FilesCount

	If IsArray($FilesArr) Then
		For $i = 1 To UBound($FilesArr)-1
			$CurrentFilePath = $FilesArr[$i]
			$CurrentFileName = StringRegExpReplace($CurrentFilePath, "^.*\\", "")
			$CurrentFilePathName = StringReplace($CurrentFilePath, $SourcePath & "\", "")

			$CurrentParentDirName = _GetParentDirName($CurrentFilePath)

			$Progress += $ProgressStep
			$Counter += 1

			$ReadySize = FileGetSize($CurrentFilePath)

			$MidlePath = _GetMidlePath($CurrentFilePath)
			$Ready = $Counter & "/" & $FilesCount
			$TimeRemained = _GetTimeRemained($TotalDirSize, $ReadySize, $FilesCount, $Counter)

			ProgressSet($Progress, 'KOPYALANAN HEDEF : "' & $CurrentParentDirName & '" KOPYALANAN KONUM "' & $CurrentParentDirName & '"' & @LF & _
				$MidlePath & @LF & "Yaklaşık kalan zaman: " & $TimeRemained, "Biten: " & $Ready)
			FileCopy($CurrentFilePath, $DestPath & "\" & $CurrentFilePathName, 8+$Replace)
		Next
	EndIf
	ProgressOff()
EndFunc

Func _FileListToArrayEx($sPath, $sMask='*')
	Local $i, $j, $blist, $rlist[1]=[0], $dlist = _DirListToArray($sPath)
	_ArrayAdd ($dlist, $sPath)
	For $i=1 To $dlist [0] +1
		$blist = _FileListToArray ($dlist [$i], $sMask, 1)
		If Not @error Then
			For $j=1 To $blist [0]
				_ArrayAdd ($rlist, $dlist[$i] & "\" & $blist [$j])
			Next
		EndIf
	Next
	$rlist [0] = UBound ($rlist) - 1
	Return $rlist
EndFunc

Func _DirListToArray($sPath)
    Local $rlist[2]=[1, $sPath], $blist, $alist=_FileListToArray ($sPath, '*', 2)
	If IsArray ($alist) Then
        For $i=1 To $alist [0]
            _ArrayAdd ($rlist, $sPath & "\" & $alist [$i])
			$blist = _DirListToArray ($sPath & "\" & $alist [$i])
            If $blist[0]>0 Then
                For $j=1 To $blist [0]
                    _ArrayAdd ($rlist, $blist [$j])
                Next
            EndIf
        Next
    EndIf
    $rlist[0] = UBound($rlist) - 1
    Return $rlist
EndFunc

Func _GetMidlePath($sPath)
	If StringLen($sPath) <= 50 Then Return $sPath
	Local $StartPath = StringLeft($sPath, 25)
	Local $EndPath = StringTrimLeft($sPath, StringInStr($sPath, "\", 0, -2)-1)
	Return $StartPath & "..." & $EndPath
EndFunc

Func _GetParentDirName($FullName)
	Local $LastSlashPos = StringInStr($FullName, "\", 0, -1)
	Local $SecondLastSlashPos = StringInStr($FullName, "\", 0, -2)
	Return StringMid($FullName, $SecondLastSlashPos+1, $LastSlashPos-$SecondLastSlashPos-1)
EndFunc

Func _GetTimeRemained($TotalSize, $CurrentSize, $FilesCount, $CurrentFilesCount)
	Local $NumLevl = 0.5

	If $TotalSize <= $CurrentSize Then Return _SecsToTime(0)

	Switch $FilesCount - $CurrentFilesCount
		Case 0 To 100
			$NumLevl = 0.1
		Case 100 To 1000
			$NumLevl = 0.5
		Case 1000 to 2000
			$NumLevl = 1
		Case Else
			$NumLevl = 2
	EndSwitch

	$Secs = ($TotalSize * $NumLevl) / (3600 * $CurrentFilesCount) - ($CurrentSize * $NumLevl) / (3600 * $CurrentFilesCount)
	Return _SecsToTime($Secs)
EndFunc

Func _SecsToTime($iTicks, $Delim=":")
	If Number($iTicks) >= 0 Then
		$iHours = Int($iTicks / 3600)
		$iTicks = Mod($iTicks, 3600)
		$iMins = Int($iTicks / 60)
		$iSecs = Round(Mod($iTicks, 60))
		If StringLen($iHours) = 1 Then $iHours = "0" & $iHours
		If StringLen($iMins) = 1 Then $iMins = "0" & $iMins
		If StringLen($iSecs) = 1 Then $iSecs = "0" & $iSecs
		Return $iHours & $Delim & $iMins & $Delim & $iSecs
	EndIf
	Return SetError(1, 0, 0)
EndFunc
$date = @MON & "/" & @MDAY & "/" & @YEAR
Run (@ProgramFilesDir & "\winrar\rar.exe a yedek ",($value) )
Sleep(1100)
MsgBox(64,"Tebrikler - JOY BİLGİ İŞLEM  ","Yedekleme işleminiz başarı ile tamamlanmıştır. Sıkıştırma işleminden önceki klasör silinecektir.")
Sleep(2000)
MsgBox(64,"AMAN DİKKAT - JOY BİLGİ İŞLEM  ","DİKKAT..! SIKIŞTIRMA İŞLEMİ BİTMEDİ İSE TAMAM BUTONUNA BASMAYINIZ..!!")
FileMove(($value), "yedek.rar", 1)
$folder = ($value)
Run(@ComSpec & " /c rmdir /S /Q " & $folder, "", @SW_HIDE)

Share this post


Link to post
Share on other sites

Değerli arkadaşlar bu autoit script kodlarını güselce detaylı bir anlatım yapıp kodların türkçesi felan sunabilirmisiniz.Hangi komut nerelerde ne işe yarar bunları öğrenmekte fayda var.

Share this post


Link to post
Share on other sites
Değerli arkadaşlar bu autoit script kodlarını güselce detaylı bir anlatım yapıp kodların türkçesi felan sunabilirmisiniz.Hangi komut nerelerde ne işe yarar bunları öğrenmekte fayda var.

aslında anlatılacak bişi yok deneme yanılma yaparak çözebilirsin birinin bişiler anlatmasıyla değilde kendin verilen scriplerle daha kolay çözersin

Share this post


Link to post
Share on other sites

onder abi c:\doc..\desktop yerine şöyle yazabilirsin.

DirCreate($value)

_CopyWithProgress(@Desktopdir & "\x", ($value), 1)

hatta kopyalanacak klasörü de kullanıcıya sorabilirsin

$klonlabeni = InputBox("::.. Joy Bilgi İşlem Yedekleme ..::", "Kopyalanacak Klasör Adını Girin:", "")

_CopyWithProgress(@Desktopdir & "\" & $klonlabeni, ($value), 1)

geri kalanını incelemedim açıkçası uzun geldi :)

Share this post


Link to post
Share on other sites

Teşekkürler

@Desktopdir bilerek yapmadım sonuçta değişken bir dosya konumu; sormasına da gerek yok çalıştırdığın konuma atıyor sıkışmış dosyayı.

Share this post


Link to post
Share on other sites

Sayın sk8er_boi arkadaşım bu program yardımıyla mause ile bir butonu basılı tutturup onu sağa veya sola kaydırma(örneğin ses düğmesi gibi) imkanı var mıdır acaba? Var ise komutu belirtirsen sevinirim. :clapping:

Share this post


Link to post
Share on other sites

Şimdi ben FileInstall komutuyla .exe'nin içine dosyaları gömüyorum.Tek dosya hale getirdiğim .exe dosyasına gömdüğüm dosyaları nasıl çıkartabilirim acaba ?

Share this post


Link to post
Share on other sites

emin değilim ama sanırım

Başlat >> Tüm programlar >>

autoiypm6.jpg

burdaki decompile exe to fileden çıkarabilirsin.

Share this post


Link to post
Share on other sites

autoit işine yeni girdim ben de.o seçeneği de denemedim açıkçası :dribble: ama belki işe yarar diye düşündüm :dribble:

Share this post


Link to post
Share on other sites
İlgin için sağolda o scriptin içeriğini gösterir.Bana .exe içine gömdüğüm dosyalar lazım.

exe'yi çalıştır dosyaları nereye gönderdiysen oradan al

not: kurulumu bitirmemesi için script'i durdur

Share this post


Link to post
Share on other sites

Exe dosyasına gömdüğüm 2 dosyada 1'er KB'lık dosyalar.Herhangi bir setup dosyası değil.O dosyaları exe'nin içinden çıkarma nasıl olur onu öğrenmek istiyorum sadece.

Share this post


Link to post
Share on other sites

Bu programı deneyebilirsin.

http://myauttoexe.angelfire.com/myAutToExe2_03_AutoIt3_Decompiler_opensource.zip[/CODE]

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...