Jump to content

İleri düzey AutoIT örnekleri


sk8er_boi
 Share

Recommended Posts

Merhaba arkadaşlar.
Scriptin kendini içindeki işlemler bittikten sonra silmesi yoketmesi için nasıl bir komut verilmeli.Mesela .bat dosyalarında bu yapılabiliyor.Önce içindeki Runwait,Filecopy vb. komutları çalıştıracak sonrada adı mesela a.exe ise kendisini silecek.

Link to comment
Share on other sites

  • 1 ay sonra...

Sen autoit ile oluşturcağın program için mi, yoksa başka bir program için mi istiyorsun?
Autoit için kısaca görsel bir şey olsun dersen gui oluşturacaksın.
Görsel bir şeye gerek olmadan basit bir gui olsun dersen InputBox kullanabilirsin.
Yani ilgili autoit ile oluşturduğun program çalıştırdığında senin daha önceden belirlediğin şifreyi sorar, şifre doğruysa sonraki işlemlere geçilir.
Şifre hatalıysa çıkış yapar.

Bir örnek verelim;
[codebox]Global $SIFREM = "BlueLife"
Global $S_INPUTBOX

For $I = 1 to 5
$S_INPUTBOX = InputBox("Güvenlik kontrolü", "Devam etmek için şifreni gir" & @CRLF & "Deneme = " & $I, "", "*")
If @error Then Exit
If $S_INPUTBOX <> $SIFREM Then
MsgBox(16,"Güvenlik kontrolü","Şifre hatalı!")
If $I = 5 Then Exit
ContinueLoop
EndIf
ExitLoop
Next

MsgBox(64,$S_INPUTBOX,"Şifre doğru devam edecek")[/codebox]

Link to comment
Share on other sites

s.a. birkaç sorum olacak.

1-Autoit ile ShellExecuteWait komutunda özel bir parametre çalıştırmak istiyorum yani örnek olarak

ShellExecuteWait("proadi.exe","/VERYSILENT /SP-") gibi standart program parametreleri çalışıyor fakat "/VERYSILENT /SP-" kısmında özel parametrede " işaretleri fazla var bu yüzden bu ShellExecuteWait komutunu çalıştıramadım.

ShellExecuteWait("proadi.exe","/S Location="TURKEY" SERIALNUMBER:"123456-98700" /qn")yani gördüğünüz gibi buralarda "" işaretleri turkey ve serial number kısımda var silsem olmuyor silmesem zaten script hata veriyor bu tip özel parametreleri nasıl çalıştırabilirim.Aynı bu özel parametreyi cmd bat ile çalıştırınca hiç sorun olmadan program yükleniyor ama cmd bat kullanmadan yapabilme imkanı varsa daha iyi olur.

2-Autoit ile bir reg kaydının yedeği alınabilirmi?Yani mesela

[HKEY_CURRENT_USER\Software\Bigasoft\AVCHD Converter\RegInfo]
"UserName"="ahmet"
"RegCode"="3054198967D74D-3967-B8F5-09F71F3456789A"

Bunu script. reg uzantılı olarak örneğin masaüstüne name.reg isminde kaydedebilirmi autoit ile bu mümkünmü.Reg giriyorum reg siliyorum ama bana reg yedeği lazım.Bu sorunu illaki autoit ile olmuyorsa bat ile felan oluyorsa onunlada olur.

Link to comment
Share on other sites

@casira

Cevap 1: En basit olarak eğer parametrenin içinde çift tırnak işareti varsa başlangıç ve bitiş için tek tırnak işareti kullan.
Basit sallama bir örnek verirsek;
[b]ShellExecuteWait("proadi.exe",'/S Location="TURKEY" SERIALNUMBER:"123456-98700" /qn')[/b]

Cevap 2: Regedit.exe - reg.exe gibi programlarla istediğin registry anahtarının yedeğini istediğin yere alabilirsin.
Ben nadirde olsa arada reg.exe de sorunla çıktığına şahit oldum. Bu yüzden ben regedit.exe yi tavsiye ederim.
Autoit ile yapabileceğimiz gibi *.cmd , *.bat , *.vbs gibi bir çok farklı şekilde istediğin yapılabilir.

Autoit için örnek verelim;
[codebox]Global $RegFile = @DesktopDir & "\Script.reg"
Global $RegKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run"
ShellExecuteWait("regedit.exe",'/E "' & $RegFile & '" "' & $RegKey & '"')[/codebox]

Peki hiç bir program kullanmadan direk autoit ile yapamazmıyız dersen, tabiki yapılabilir lakin autoit her tüm reg tiplerini desteklemiyor.
Böyle olunca dll kullanmak gerekiyor ve haliyle basit gibi görülen bu olay biraz uzayıp gidiyor....

@Game.Over

O zaman sen ilgili programı Fileinstall gibi komutlar ile autoit içine alacaksın ve ilgili autoit ile oluşturduğun exe çalıştığında yukarıdaki verdiğim örnekteki gibi şifre soracak
Şifre bilinemez ise haliyle program çalışmayacak. Şifre bilinirse program rast gele bir isimde temp klasörüne çıkartılıp çalıştırılabilir.

Bunun aslında winrar gibi bir programla yapsan bence daha iyi.
Autoit ile yapmak istersen ilgili örneğe ek yaparım...

Link to comment
Share on other sites

@FeLSeFeCi

Müzi dosyanı autoit scriptinin yanına koy. Aşağıdaki ses.mp3 ses dosyana göre düzenlersin.

[codebox]#NoTrayIcon
#include <File.au3>

Global $TMP_AUDIO = _TempFile(@TempDir,"~",".mp3")
FileInstall("Ses.mp3",$TMP_AUDIO) ;Autoit içine alıp, çalıştırıldığında tempe çıkartıyoruz

OPT("TrayIconHide", 0)
TrayTip("Kurulum Tamamlandı !", "Deneme", 10,4)
SoundPlay($TMP_AUDIO,1) ; 1= Bekle
FileDelete($TMP_AUDIO)[/codebox]

Edited by blue_life
Link to comment
Share on other sites

[quote name='blue_life' date='19 May 2011 - 19:22 ' timestamp='1305822173' post='1013685']
@FeLSeFeCi

Müzi dosyanı autoit scriptinin yanına koy. Aşağıdaki ses.mp3 ses dosyana göre düzenlersin.

[codebox]#NoTrayIcon
#include <File.au3>

Global $TMP_AUDIO = _TempFile(@TempDir,"~",".mp3")
FileInstall("Ses.mp3",$TMP_AUDIO) ;Autoit içine alıp, çalıştırıldığında tempe çıkartıyoruz

OPT("TrayIconHide", 0)
TrayTip("Kurulum Tamamlandı !", "Deneme", 10,4)
SoundPlay($TMP_AUDIO,1) ; 1= Bekle
FileDelete($TMP_AUDIO)[/codebox]
[/quote]


yaptım çok sağolun.

ayıptır sorması acaba gif'li resimleri nasıl yapacam gif'li bir tane yaptım.onu da söyler misiniz ?

Link to comment
Share on other sites

[quote name='blue_life' date='19 May 2011 - 17:51 ' timestamp='1305820319' post='1013658']
@casira

Cevap 1: En basit olarak eğer parametrenin içinde çift tırnak işareti varsa başlangıç ve bitiş için tek tırnak işareti kullan.
Basit sallama bir örnek verirsek;
[b]ShellExecuteWait("proadi.exe",'/S Location="TURKEY" SERIALNUMBER:"123456-98700" /qn')[/b]

Cevap 2: Regedit.exe - reg.exe gibi programlarla istediğin registry anahtarının yedeğini istediğin yere alabilirsin.
Ben nadirde olsa arada reg.exe de sorunla çıktığına şahit oldum. Bu yüzden ben regedit.exe yi tavsiye ederim.
Autoit ile yapabileceğimiz gibi *.cmd , *.bat , *.vbs gibi bir çok farklı şekilde istediğin yapılabilir.

Autoit için örnek verelim;
[codebox]Global $RegFile = @DesktopDir & "\Script.reg"
Global $RegKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run"
ShellExecuteWait("regedit.exe",'/E "' & $RegFile & '" "' & $RegKey & '"')[/codebox]

Peki hiç bir program kullanmadan direk autoit ile yapamazmıyız dersen, tabiki yapılabilir lakin autoit her tüm reg tiplerini desteklemiyor.
Böyle olunca dll kullanmak gerekiyor ve haliyle basit gibi görülen bu olay biraz uzayıp gidiyor....

@Game.Over

O zaman sen ilgili programı Fileinstall gibi komutlar ile autoit içine alacaksın ve ilgili autoit ile oluşturduğun exe çalıştığında yukarıdaki verdiğim örnekteki gibi şifre soracak
Şifre bilinemez ise haliyle program çalışmayacak. Şifre bilinirse program rast gele bir isimde temp klasörüne çıkartılıp çalıştırılabilir.

Bunun aslında winrar gibi bir programla yapsan bence daha iyi.
Autoit ile yapmak istersen ilgili örneğe ek yaparım...
[/quote]
Autoit ile yapmak istiyorum.. Autoit ile exe'yi içine almana gerek yok zaten.. Sadece autoıt kodu olacak yanındada exe dosyası.. bunları winrar ile sıkıştıracağım.. çıkardıktan sonra çalıştır bölümüne autoit.exe yazıcam .. autoit'i çalıştıracak şifre soracam doğru ise yanındaki exe dosyasını çalıştıracak.. exe dosyasını illa içine almasına gerek yok

Link to comment
Share on other sites

@FeLSeFeCi

Fazla ilgimi çekmeyen bir konu;
Autoit forumlarında bir çok örnek bulabilirsin. Dur senin için bir tane bakim...
http://download.origo.ethz.ch/gif-animation/2856/GIFAnimation_2.1.zip

Evet yukarıda bir kaç örnek bulunmakta!
Işıne yaramaz ise yazarsın...

@Game.Over

Sen şunumu demek istiyorsun?
Programımızın adı program.exe olsun

Sen autoit.exesi ile program.exe yi winrar ile exe şeklinde sfx yapacaksın.
Haliyle bu winrar ile oluşturduğun exe yi çalıştırdığında autoit.exe si çalışcak ve şifre soracak
şifre doğruysa yanındaki program.exe yi çalıştıracak!

Tam anlayamadım :(

Link to comment
Share on other sites

[quote name='blue_life' date='20 May 2011 - 16:46 ' timestamp='1305899174' post='1014291']
@FeLSeFeCi

Fazla ilgimi çekmeyen bir konu;
Autoit forumlarında bir çok örnek bulabilirsin. Dur senin için bir tane bakim...
http://download.origo.ethz.ch/gif-animation/2856/GIFAnimation_2.1.zip

Evet yukarıda bir kaç örnek bulunmakta!
Işıne yaramaz ise yazarsın...

@Game.Over

Sen şunumu demek istiyorsun?
Programımızın adı program.exe olsun

Sen autoit.exesi ile program.exe yi winrar ile exe şeklinde sfx yapacaksın.
Haliyle bu winrar ile oluşturduğun exe yi çalıştırdığında autoit.exe si çalışcak ve şifre soracak
şifre doğruysa yanındaki program.exe yi çalıştıracak!

Tam anlayamadım :(
[/quote]


bunların hepsi internetten indirme yapıyor demek istediğim şuan elimde bir gif resmi onu nasıl .exe yapabiliriz.ba bir tane örnek vereyim.
[code]http://www.fileserve.com/file/JmrTBQt[/code]

Link to comment
Share on other sites

@Game.Over

O zaman sana daha önce verdiğim örnek işini görecektir.
Programı çalıştırmak için ek yaparsak;

[codebox]Global $SIFREM = "123"
Global $S_INPUTBOX
Global $Program = "Program.exe"
Global $Parametre = ""

For $I = 1 to 5
$S_INPUTBOX = InputBox("Güvenlik kontrolü", "Devam etmek için şifreni gir" & @CRLF & "Deneme = " & $I, "", "*")
If @error Then Exit
If $S_INPUTBOX <> $SIFREM Then
MsgBox(16,"Güvenlik kontrolü","Şifre hatalı!")
If $I = 5 Then Exit
ContinueLoop
EndIf
ExitLoop
Next

Global $ScriptDir = @ScriptDir
If StringRight($ScriptDir, 1) <> "\" Then $ScriptDir &= "\"
If $Parametre <> "" And StringLeft($Parametre,1) <> " " Then $Parametre = " " & $Parametre
Run($Program & $Parametre,$ScriptDir)[/codebox]

Program.exe yerine kendi programının adını ve 123 yerine herangi bir şifre yazarsın.

Link to comment
Share on other sites

[quote name='blue_life' date='21 May 2011 - 12:29 ' timestamp='1305970181' post='1014637']
@FeLSeFeCi

Tamam, aşağıdaki dosyayı incele :)

[color="#0000ff"][u][b]http://www.indirdur.net/files/0A9SDRJE/Blue_SPLASH.zip[/b][/u][/color]
[/quote]



çok güzel olmuş tebrikler müzik güzel bu arada müziği değiştirdim oldu.

Edited by FeLSeFeCi
Link to comment
Share on other sites

[quote name='blue_life' date='21 May 2011 - 12:54 ' timestamp='1305975240' post='1014690']
@Game.Over

O zaman sana daha önce verdiğim örnek işini görecektir.
Programı çalıştırmak için ek yaparsak;

[codebox]Global $SIFREM = "123"
Global $S_INPUTBOX
Global $Program = "Program.exe"
Global $Parametre = ""

For $I = 1 to 5
$S_INPUTBOX = InputBox("Güvenlik kontrolü", "Devam etmek için şifreni gir" & @CRLF & "Deneme = " & $I, "", "*")
If @error Then Exit
If $S_INPUTBOX <> $SIFREM Then
MsgBox(16,"Güvenlik kontrolü","Şifre hatalı!")
If $I = 5 Then Exit
ContinueLoop
EndIf
ExitLoop
Next

Global $ScriptDir = @ScriptDir
If StringRight($ScriptDir, 1) <> "\" Then $ScriptDir &= "\"
If $Parametre <> "" And StringLeft($Parametre,1) <> " " Then $Parametre = " " & $Parametre
Run($Program & $Parametre,$ScriptDir)[/codebox]

Program.exe yerine kendi programının adını ve 123 yerine herangi bir şifre yazarsın.
[/quote]
Teşekkürler Blue_Life. Çok İşime Yaradı.. Bunu geliştimeye başlıycam ayrıca.. Mükemmelsin

Link to comment
Share on other sites

  • 2 hafta sonra ...

[color="#4169E1"][b]:)[/b][/color]

Edited by Dj Demir
Link to comment
Share on other sites

parametreli bir programı autoit ile start verdiğimde sistem çubuğundaki çıkan icona sağ tıklayınca script duruyor sağ tuş müdahalesini engellemek için nasıl bir kod kullanabiliriz ama icon gizleme olmayacak program kurulumu bitince traytipten mesaj verdirceğim için Şimdiden Teşekkür Ederim :)

Link to comment
Share on other sites

AutoItSetOption ("TrayAutoPause", 0)
Bu komutla onu kaldırabilirsin.Eğer menününde olmamasını istiyorsan alttaki kodu kullan.
AutoItSetOption ("TrayMenuMode", 1)
Hiç bir ikon falan istemiyorum diyosan #NoTrayIcon kullanabilirsin..

http://www.autoitscript.com/autoit3/docs/functions/AutoItSetOption.htm

Daha fazlası için burası..

Edited by MostWanted
  • Like 1
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...