Jump to content

İleri düzey AutoIT örnekleri


sk8er_boi
 Share

Recommended Posts

evet olmaz çünkü fileinstall komutu program/gom player.exe dizinindeki dosyayı hafızasına almak içindir. run yazınca olmaz.

scripti bu kadar uzatmana gerek yoktu.

FileInstall("Profam\GOM.exe",@TempDir & "\$$.tmp")

siz bu satırı bu şekilde yaptığınız için bende klasör ismini profam exe ismini ise gom.exe yaptım katılımsız oluyo bilgiler olmuyo

Link to comment
Share on other sites

@ASEV13

Bak kardeşim, ben şimdi normal olarak (F6) başlattım. Run komutunu aldım. Ama farkında değilim, o run komutunu silince çalışmıyor. Bak böyle dene ne demek istediğimi anlarsın!...

#Region

#AutoIt3Wrapper_Icon=GOM.ico

#AutoIt3Wrapper_Outfile=Gomplayer.exe

#AutoIt3Wrapper_Compression=4

#AutoIt3Wrapper_Res_Field=CompanyName|ASEV13

#AutoIt3Wrapper_Res_Description=Gomplayer asev13 vs. tarafından yapılmıştır

#AutoIt3Wrapper_Res_Comment=film izleme

#AutoIt3Wrapper_Res_Fileversion=1.0.0.0

#AutoIt3Wrapper_Res_LegalCopyright=© 2010 ASEV13

#AutoIt3Wrapper_Res_Field=DosyaAdı|Gomplayer.exe

#AutoIt3Wrapper_Res_Field=Oluşturma Tarihi|%date% %time%

#AutoIt3Wrapper_Res_Field=AutoIt Versiyon|%AutoItVer%

#EndRegion

Global $Tmp_File = _TempFile()

Global $Exe_File = _TempFile(".exe")

Run("Program\Gomplayer.exe",$Tmp_File)

FileMove($Tmp_File,$Exe_File ,1)

RunWait($Exe_File)

FileDelete($Exe_File)

FileDelete($Tmp_File)

Func _TempFile($s_FileExtension = ".tmp",$s_DirectoryName = @TempDir,$s_FilePrefix = "~", $i_RandomLength = 7)

Local $s_TempName

If StringRight($s_DirectoryName, 1) <> "\" Then $s_DirectoryName = $s_DirectoryName & "\"

Do

$s_TempName = ""

While StringLen($s_TempName) < $i_RandomLength

$s_TempName = $s_TempName & Chr(Random(97, 122, 1))

WEnd

$s_TempName = $s_DirectoryName & $s_FilePrefix & $s_TempName & $s_FileExtension

Until Not FileExists($s_TempName)

Return ($s_TempName)

EndFunc;==>_TempFile

#region --- Au3Recorder generated code Start ---

Run("Program\Gomplayer.exe')

Edited by Mükemmel 
Link to comment
Share on other sites

Geldim lakin dosyayı indiremedim :(

Farklı bir yere upload etmelisin. Bu rapid baya sorun çıkarmaya başladı. :(

Soruna gelirsek benim verdiğim örnekte fazlalık dışında herangi bir sorun görünmüyor..

Autoit versiyonun nedir?

Ben AutoIt v3.3.4.0 kullanıyorum.

Please register to see this content.

Autoit3220_with_SciTE_silent_osh

Edited by ASEV13
Link to comment
Share on other sites

@djonur007

Tabiki olur. Benim verdiğim örnekte aşağı yukarı aynı.

Seni kullandığın komutta şöyle bir durum var.

Diyelim aynı dosyadan temp klasöründe var ve bu dosya çalışıyor. Böyle olunca program temp klasörüne çıkartılamaz.

Böyle olunca tabiki, kurmak istenilen program çalışmayacaktır.

Aynı dosyanın temp klasöründe olma ihtimaline karşı ben biraz ek yaptım. Yoksa aşağı yukarı aynı mantık.

@Mükemmel

Verdiğin komut malesef yanlış :(

Fileinstall ile biz ilgili dosyayı autoit.exe sinin içine gömüyoruz. Sen bu şekilde direk çalıştırıyorsun.....

Link to comment
Share on other sites

@ASEV13

Indirdim ve denedim bende herangi bir sorun yok! Sistemin neydi?

Upload ediyorum...

#NoTrayIcon
#Region
#AutoIt3Wrapper_Icon=GOM.ico
#AutoIt3Wrapper_Outfile=Gomplayer.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Field=CompanyName|ASEV13
#AutoIt3Wrapper_Res_Description=Gomplayer asev13 vs. tarafından yapılmıştır
#AutoIt3Wrapper_Res_Comment=film izleme
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=© 2010 ASEV13
#AutoIt3Wrapper_Res_Field=DosyaAdı|Gomplayer.exe
#AutoIt3Wrapper_Res_Field=Oluşturma Tarihi|%date% %time%
#AutoIt3Wrapper_Res_Field=AutoIt Versiyon|%AutoItVer%
#EndRegion
Global $Tmp_File = _TempFile()
Global $Exe_File = _TempFile(".exe")
FileInstall("Program\Gomplayer.exe", $Tmp_File)
FileMove($Tmp_File, $Exe_File, 1)
RunWait($Exe_File)
FileDelete($Exe_File)
FileDelete($Tmp_File)

Func _TempFile($s_FileExtension = ".tmp", $s_DirectoryName = @TempDir, $s_FilePrefix = "~", $i_RandomLength = 7)
	Local $s_TempName
	If StringRight($s_DirectoryName, 1) &lt;&gt; "\" Then $s_DirectoryName = $s_DirectoryName &amp; "\"
	Do
		$s_TempName = ""
		While StringLen($s_TempName) &lt; $i_RandomLength
			$s_TempName = $s_TempName &amp; Chr(Random(97, 122, 1))
		WEnd
		$s_TempName = $s_DirectoryName &amp; $s_FilePrefix &amp; $s_TempName &amp; $s_FileExtension
	Until Not FileExists($s_TempName)
	Return ($s_TempName)
EndFunc   ;==&gt;_TempFile

Link to comment
Share on other sites

blue_life Kullanıcı Profilinin adresi nedir acaba?

mesela xp 'de %userprofile% autoitte nedir?

Run(" buraya tam adresi yazınca sorunsuz bir şekilde işleme devam ediyor ...Program\Gomplayer.exe')

Birde bende sola konumlandırmış. Normalde o kodda boşluklar var. Bi düzelt istersen. Yada bekle upload ediyorum.

Edited by Mükemmel 
Link to comment
Share on other sites

Yokya basit bir şey için ne formatı.

Sistemindeki autoiti kaldır. Sonra git program files klasöründen de ilgili klasörünü sil ve yeni versiyonu kur.

http://rghost.net/1008672[/CODE]

@Mükemmel

Mesajını yeni farkettim. :(

%userprofile% = @UserProfileDir

Edited by blue_life
Link to comment
Share on other sites

Yokya basit bir şey için ne formatı.

Sistemindeki autoiti kaldır. Sonra git program files klasöründen de ilgili klasörünü sil ve yeni versiyonu kur.

http://rghost.net/1008672[/CODE]

@Mükemmel

Mesajını yeni farkettim. :(

%userprofile% = @UserProfileDir

blue_life Hocam oldu.format atmadım scite güncellemiştim sadece sizinki çalıştı diğer arkadaşlarınkinide denededim olmadı. özellikle size konumun başından beri bana yardımınızı hiç esirgemeden yardımcı olduğunuz için size ne kadar teşekkür etsem azdır.sizin sayenizde artık paylaşım yapabileceğim.katılımsızlarım açık olduğu için yapamıyordum.diğer konu ile ilgilen arkadaşlarada ayrı ayrı teşekkürler...

Link to comment
Share on other sites

@mükemmel arkadaşım, senin kodların yanlış. neden diyeceksin: en sona yazdığın run komutu masaüstünden program klasörünü silersen çalışmaz.

yani ben senin verdiğin kodları kullansam script masaüstünde program\gom.exe yi arar. onun için en sonradaki run komutunu silmen gerek.

@ASEV13 arkadaşımızın yapmak istediği şey; masaüstündeki program\gom.exe yi hafızasına alacak onu temp'e çıkartıp çalıştıracak. arkadaşın isteği bu. blue_life hocam arkadaşın isteğini halletti sağolsun.

yakında AutoIT ile AIO yapım dersini hazırlayıp koyacağım siteye. umarım faydalı olur. autoIT konusunda...

Link to comment
Share on other sites

arkadaşlar ben autoitte yeniyim bu soruyu nereye soracağımı bilmedim.inşallah yanlış yere sormamışımdır.

şimdi ben program filesda her hangi bir kalsördeki (hangi klasör olduğunu bilmiyorum) a.exe programını çağıracam ben bunu nasıl yapabilirim.yani program filesi tarıyacak ve a.exe yi bulacak ve çalıştıracak.ben bunu nasıl yapabilirm.bir sorum daha olacak ben @blacman12 nin "217_avg_autoit_blackman12" videosunu izledim orada

"run" komunu kullandı bekledi daya sonra çalıştırmak istediği program açıldı.ben de ona benzer birşey kullandım bekledim program çalışmadı.nerde hata yaptım.şimdiden teşekkürler.

Link to comment
Share on other sites

@shmd

Ben @blacman12'nin videosunu izlemedim ama, nasıl anlatacağımı düşünüyorum....

Şimdi Başlat -> Çalıştır varya. Oraya notepad.exe yazarsak çalışıyor. Çünkü bu dosya sistem klasöründe.

Autoittede Run("notepad.exe") yazarsak çalışacaktır.

Sistem klasörlerindeki dosyalar (windows, System32 vs.) bu şekilde çalışacaktır.

Diğer konuya gelirsek, tabiki sadece dosya ismini bilmen yeterli. Bunu aratarak bulabilirsin.

Bu dosya bir klasörde olabilir mi?

Senin için basit bir şey hazırlayıp gönderebilirim...

Link to comment
Share on other sites

@blue_life

evet bu dediğim herhangi bir klsörde a.exe isminde bir program ben bunu çağırmak istiyorum fakat hangi klasörde olduğunu söylemeden yani autoit program filesi arıyacak ve a.exe bulunca çalıştıracak.aslında bunu ilerleteyim.aratıp bulamazsa bir hata mesajı versin.hatanın içeriği ise "a" programı bulamadı.

bu arada ilginiz için çok teşekkür ederim.

Edited by shmd
Link to comment
Share on other sites

istediğini FileExists ile yapabilirsin. autoıt in help dosyasını incele yararı olur.

If FileExists(@ProgramFilesDir & "\a.exe") Then

MsgBox(4096,@ProgramFilesDir & "\a.exe", " Bulunamadı!!!")

Else

MsgBox(4096,"Hata!!!", @ProgramFilesDir & "\a.exe Bulunamadı!!!")

EndIf

Link to comment
Share on other sites

istediğini FileExists ile yapabilirsin. autoıt in help dosyasını incele yararı olur.

çok sağolun fakat bu direk program filesin ana dızinindeki programı buluyor.mesla benim a.exe program "autoit" klasörünün içinde olsun.fakat ben bunun yerini yazmadan aratmasını ve bulmasını istiyorum.yinde yardımınız için çok sağolun.

Link to comment
Share on other sites

Geldim... winamp.exe yazan yere programını yaz. Tabi klasöre bağlı olarak işlem uzun sürebilir. Aslında dir komutuyla yapsaydım çok kısa sürerdi.

Neyse ben kaçmam lazım. Kolay gelsin......

Global $My_Program = "winamp.exe"
Global $Found_Program
_BL_FIND_FOLDER(@ProgramFilesDir)
If $Found_Program = "" Then
    MsgBox(64,"",$My_Program & " bulunamadı!")
    Exit
Else
    MsgBox(64,"",$Found_Program & " bulundu!")
    Run($Found_Program)
EndIf

Func _BL_FIND_FOLDER($BL_PATH, $BL_EX = "*.*")
    If Not StringInStr(FileGetAttrib($BL_PATH), "D") Then Return -1
    If StringRight($BL_PATH, 1) <> "\" Then $BL_PATH &= "\"
    Local $BL_SEARCH = FileFindFirstFile($BL_PATH & $BL_EX), $BL_FND_FILE
    If $BL_SEARCH <> -1 Then
        While 1
            $BL_FND_FILE = FileFindNextFile($BL_SEARCH)
            If @error Or $Found_Program <> "" Then ExitLoop
            If StringInStr(FileGetAttrib($BL_PATH & $BL_FND_FILE), "D") Then
                _BL_FIND_FOLDER($BL_PATH & $BL_FND_FILE,$BL_EX)
            Else
                If $My_Program = $BL_FND_FILE Then
                    $Found_Program = $BL_PATH & $BL_FND_FILE
                    Return
                EndIf
            EndIf
        WEnd
    EndIf
EndFunc  ;==>_BL_FIND_FOLDER[/CODE]

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...