Jump to content

İleri düzey AutoIT örnekleri


sk8er_boi
 Share

Recommended Posts

Windows Kopyalama Animasyonlu kopyalama yapmak

_FileCopy("C:\Installed Apps\Patches\WindowsXP-KB835935-SP2-ENU.exe", "C:\temp")

Func _FileCopy($fromFile, $tofile)
Local $FOF_RESPOND_YES = 16
Local $FOF_SIMPLEPROGRESS = 256
$winShell = ObjCreate("shell.application")
$winShell.namespace ($tofile).CopyHere ($fromFile, $FOF_RESPOND_YES)
EndFunc;==>_FileCopy[/CODE]

[b]adminim bu şekilde kopyalama animasyonu olur demişsiniz..?[/b]

[CODE]

FileCopy("D:\Tarsus Otomobil Sporları Kulübü\TAROSK Organizasyonları\", "C:\Documents and Settings\TEKNORIUM\Desktop\Yeni Klasör\")


Func _FileCopy($fromFile, $tofile)
Local $FOF_RESPOND_YES = 16
Local $FOF_SIMPLEPROGRESS = 256
$winShell = ObjCreate("shell.application")
$winShell.namespace ($tofile).CopyHere ($fromFile, $FOF_RESPOND_YES)
EndFunc;==>_FileCopy[/CODE]

[b]benim kodlarımda bu yeni klasöre dosyaları kopyalıyor fakat. animasyon yok ortada sebebi nedir.?[/b]

Edited by akk33
Link to comment
Share on other sites

  • Administrator
benim kodlarımda bu yeni klasöre dosyaları kopyalıyor fakat. animasyon yok ortada sebebi nedir.?

O kodlar artık çalışmıyor. Yeni kod:

Global Const $FO_MOVE                   = 0x0001
Global Const $FO_COPY                   = 0x0002
Global Const $FO_DELETE                 = 0x0003
Global Const $FO_RENAME                 = 0x0004

Global Const $FOF_MULTIDESTFILES        = 0x0001
Global Const $FOF_CONFIRMMOUSE          = 0x0002
Global Const $FOF_SILENT                = 0x0004
Global Const $FOF_RENAMEONCOLLISION     = 0x0008
Global Const $FOF_NOCONFIRMATION        = 0x0010
Global Const $FOF_WANTMAPPINGHANDLE     = 0x0020
Global Const $FOF_ALLOWUNDO             = 0x0040
Global Const $FOF_FILESONLY             = 0x0080
Global Const $FOF_SIMPLEPROGRESS        = 0x0100
Global Const $FOF_NOCONFIRMMKDIR        = 0x0200
Global Const $FOF_NOERRORUI             = 0x0400
Global Const $FOF_NOCOPYSECURITYATTRIBS = 0x0800
Global Const $FOF_NORECURSION           = 0x1000
Global Const $FOF_NO_CONNECTED_ELEMENTS = 0x2000
Global Const $FOF_WANTNUKEWARNING       = 0x4000
Global Const $FOF_NORECURSEREPARSE      = 0x8000

$n = _CopyWithProgress("D:\Tarsus Otomobil  Sporları  Kulübü\TAROSK Organizasyonları\" , "C:\Documents and Settings\TEKNORIUM\Desktop\Yeni Klasör\")
;~ If Not $n Then ConsoleWrite('error:' & @error & @CRLF)

Func _CopyWithProgress($sFrom, $sTo)
    Local $SHFILEOPSTRUCT, $pFrom, $pTo, $aDllRet, $i, $nError = 0
        $SHFILEOPSTRUCT = DllStructCreate("hwnd hwnd;uint wFunc;ptr pFrom;ptr pTo;int fFlags;int fAnyOperationsAborted;ptr hNameMappings;ptr lpszProgressTitle")
    DllStructSetData($SHFILEOPSTRUCT, "hwnd", 0)
    DllStructSetData($SHFILEOPSTRUCT, "wFunc", $FO_COPY)
        $pFrom = DllStructCreate("char[" & StringLen($sFrom)+2 & "]")
    DllStructSetData($pFrom, 1, $sFrom)
    For $i = 1 To StringLen($sFrom)+2
        If DllStructGetData($pFrom, 1, $i) = Chr(10) Then DllStructSetData($pFrom, 1, Chr(0), $i)
    Next
    DllStructSetData($pFrom, 1, Chr(0), StringLen($sFrom)+2) ; second null at the end
    DllStructSetData($SHFILEOPSTRUCT, "pFrom", DllStructGetPtr($pFrom))
        $pTo = DllStructCreate("char[" & StringLen($sTo)+2 & "]")
    DllStructSetData($pTo, 1, $sTo)
    DllStructSetData($pTo, 1, Chr(0), StringLen($sTo)+2) ; second null at the end
    DllStructSetData($SHFILEOPSTRUCT, "pTo", DllStructGetPtr($pTo))
        DllStructSetData($SHFILEOPSTRUCT, "fFlags", BitOR($FOF_NOCONFIRMMKDIR, $FOF_NOCONFIRMATION, $FOF_NOERRORUI))
    DllStructSetData($SHFILEOPSTRUCT, "fAnyOperationsAborted", 0)
    DllStructSetData($SHFILEOPSTRUCT, "hNameMappings", 0)
    DllStructSetData($SHFILEOPSTRUCT, "lpszProgressTitle", 0)
    $aDllRet = DllCall("shell32.dll", "int", "SHFileOperation", "ptr", DllStructGetPtr($SHFILEOPSTRUCT))
    If @error Or $aDllRet[0] <> 0 Then
        $aDllRet = DllCall("kernel32.dll", "long", "GetLastError")
        If Not @error Then $nError = $aDllRet[0]
    EndIf
        ; test if button Abort was pressed
    If DllStructGetData($SHFILEOPSTRUCT, "fAnyOperationsAborted") Then $nError = -1

    $pFrom = 0
    $pTo = 0
    $SHFILEOPSTRUCT = 0
        If $nError <> 0 Then
        SetError($nError)
        Return False
    EndIf
    Return True
EndFunc

Link to comment
Share on other sites

Autoit ile Modem resetlemek

[MODEM KONTROL PANELİNDE RESETLEME BUTONU OLMALIDIR!]

Gerçi rapid yeni sisteme geçti artık bunun bir faydası kalmadı ama bu autoitteki ilk scriptim paylaşayım dedim.

Genelde Modem Kontrol Panellerinde Modemi resetle diye bir tuş olur.BU tuşa otomatik basmayı sağlıyoruz o kadar.

Öncelikle tarayıcıyı açıyoruz.Örneğimde IE Kullandım.Çünkü Mozilla ile sörf yapıyorken ALt+F4 yaptığımızda tüm sekmeler gitmesin.

Tüm pencereleri de aşağı alıyoruz ki ters bir şey olmasın.

İp Adresini modemin kontrol panel ipsi ile,Log in bölümünü de tarayıcıda görünen başlıkla değiştiriyoruz elbette.

WinMinimizeAll()
ShellExecute(@ProgramFilesDir & "\Internet Explorer\iexplore.exe","İp Adresi")
WinWaitActive(">Log In")
WinSetTrans(">Log In", "", 1 )[/CODE]

Pencereyi de transparan yaptık son satırdaki kodla.

Genelde modem kontrol panelleri kullanıcı ve şifre isterler.

Şifreyi giriyoruz.Aksilik çıkmasın diye 5 saniye bekliyor.

[CODE]sleep("5000")
Send("Kullanıcı adı")
Send("{tab}")
Send("Şifre")
Send("{Enter}")[/CODE]

Şimdi Modem Kontrol Panelindeyiz.Tab tuşlarıyla resetleme tuşuna geliyoruz.Başka bir sayfaya girmeniz gerekiyorsa ona da girin.

Benim reset tuşu anasayfada olduğundan direk anasayfadan gösteriyorum.İkinci tuş modem reset bende.Genelde bunlar tuş değil link şeklindedir.bu nedenle linklere tıklamak için tab kullanmanız gerekiyor.

[CODE]Send("{tab}")
Send("{tab}")
Send("{Enter}")[/CODE]

Böylece Modem reset yazısına tıklıyor.Şimdi Tarayıcıyı kapatalım.

Aksilik çıkmasın diye 5 saniye bekliyor.

[CODE]Sleep("5000")
WinClose(">Log In")[/CODE]

NOT:BU ayarlar Herkesin Modemine göre FARKLIDIR! kodları aynen yapıştırmayınız.Önce test yaparak nereye kaç kere basmanız gerektiğini öğreniniz.

Şimdi komple verelim kodu:

[CODE]WinMinimizeAll()
ShellExecute(@ProgramFilesDir & "\Internet Explorer\iexplore.exe","İp Adresi")
WinWaitActive(">Log In")
WinSetTrans(">Log In", "", 1 )
sleep("5000")
Send("Kullanıcı Adı")
Send("{tab}")
Send("Şifre")
Send("{Enter}")
Send("{tab}")
Send("{tab}")
Send("{Enter}")
Sleep("5000")
WinClose(">Log In")[/CODE]

Edited by morning
Link to comment
Share on other sites

Tekrardan selamlar öncelikle uzun zamandır bu siteye giremiyordum autoit i bosverdim sonra canım sıkıldı bari ugrasim dedim ve yeni bir sorum var simdi autoitte bir siteye uye olma programı yaptım diyelim ama resim kodu var benim istegim o resim kodunu kullanıcıya gostermesi ve kullanıcınında bu kodu yazınca islemine devam etmesi

boyle bisey autoitte mumkunmu yoksa baska yazılım dillerindemi mumkun

Link to comment
Share on other sites

autoitle böyle bir şey mümkün sk8er_boi NOD32 key bulucuyu bu mantıkla yapmış sanırım.Bir sitedeki key listesinde yeşil renkli olan keyi panoya kopyalıyor.Bu yapılabiliyorsa seninki de mümkündür.

Link to comment
Share on other sites

  • 2 hafta sonra ...

bir sorum daha var..

simdi ben bi inputbox olusturdum diyelim

$kutu = InputBox("xx", "xx", "xx", "", _
-1, -1, 0, 0)[/CODE]

bu kutuda yazan yazıyı baska bir degiskene nasıl aktarabilirim mesela abc yazdılar kutuya ve bende o yazının $kutudakiyazi degiskeninin tanımı olmasını istiyorum nasıl yapabilirim....

Link to comment
Share on other sites

SOn bir sorum daha var dahada basınızı agrıtmayacam simdi ben bir site icin autologin programı yapıyorum programın kodları soyle

$User = InputBox("Cyberdunk Autologin", "Please write your Username", "Username", "", -1, -1)

$Pass= InputBox("Cyberdunk Autologin", "Please write your Password", "Password", "", -1, -1)

$Username=$User

$oIE = _IECreate("www.cybersoccer.com")

;Get pointers to the fields

$oForm = _IEFormGetCollection($oIE, 0)

$oUser = _IEFormElementGetCollection($oForm,0)

$oPassword = _IEFormElementGetCollection($oForm,1)

$oLogin = _IEFormElementGetCollection($oForm,3)

;Set Field Values & Click Login button

_IEFormElementSetValue($oUser,$User)

_IEFormElementSetValue($oPassword,$Pass)

_IEAction($oLogin,"click")

HotKeySet("{ESC}", "Stop")

Func Stop()

_IEQuit($oIE)

If _IEQuit($oIE) Then

MsgBox(1,"Cyberdunk Autologin","Good bye(:")

EndIf

EndFunc

Ancak program benim esc ye basmamı beklemeden siteye login oldugunda direk kendini kapıyor.Programın sadece esc ye bastıgında cıkması icin ne yapmalıyım

Bir sorumda su GUI den pek anlamıyorum inputbox falan yaptımda sunun gibi

photowe9.jpg

bir menuyu nasıl yapabilirim.Ayrıca birde su password hatırlama olayı nasıl oluyor soylerseniz cok makbule gecer...

Edited by Nerox
Link to comment
Share on other sites

Valla buldum ama şifreyi n kadar güvenli olarak saklayabilirsin onu bilemem...

Bir tane değeri boş olan input oluşturup style'ına $es_password koy bi kere sonra bi check box oluştur beni hatırla anlamında ve

while case altına $Checkboxadi

If GUICtrlRead($Checkboxadi)=1 then IniWriteSection ( "sifreninkaydedilecegi dosya", "section", "bilgi vs." [, index ] )

yapıcaksın ve programın en başına da bir if koyman lazım bu if bilmemne.ini dosyana bakıcak ve eğer o dosya varsa inputa onu yazdıracak yoksa normal açılacak...Olay bundan ibaret tüm kodları koymak isterdim ama elimde hazır kalıp bişi yok

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