SimpsoN_Bart Posted September 15, 2012 Share Posted September 15, 2012 (edited) [size=3][font=georgia,serif]Çalışmalarınız kullanabileceğiniz güzel bir fonksiyon.Mouse imlecini Form'un üstüne getirdiğiniz zaman form aktif olur aksi hali durumunda form şeffaf şekilde görünür arada bir kullandığınız ama hep açık olan çalışmalar için güzel bir yöntem.Sleep ve diğer değişkenleri isteğinize göre düzenleyebilirsiniz..Umarım faydalı olmuştur, kolay gelsin..[/font][/size] [code]#RequireAdmin #NoTrayIcon AdlibRegister("_DETECT_MOUSE", 1);Fonksiyonu 1 saniyede bir çalıştırmak için. Local $MAIN_GUI = GUICreate("Form1", 431, 280) Local $EXIT = GUICtrlCreateButton("Çıkış", 8, 232, 409, 25) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case -3, $EXIT Exit EndSwitch WEnd Func _DETECT_MOUSE() Local Static $MOUSEOUT = False $M_POS = MouseGetPos() $W_POS = WinGetPos("Form1") If $M_POS[0] > $W_POS[0] And $M_POS[0] < $W_POS[0] + $W_POS[2] And $M_POS[1] > $W_POS[1] And $M_POS[1] < $W_POS[1] + $W_POS[3] Then If $MOUSEOUT = True Then For $i = 30 To 255 Step 30 WinSetTrans("Form1", "", $i) Sleep(50) Next WinSetTrans("Form1", "", 255) $MOUSEOUT = False EndIf Else If $MOUSEOUT = 0 Then For $i = 255 To 30 Step -30 WinSetTrans("Form1", "", $i) Sleep(50) Next $MOUSEOUT = True EndIf EndIf EndFunc ;==>_DETECT_MOUSE [/code] Edited September 15, 2012 by SimpsoN_Bart Quote Link to comment Share on other sites More sharing options...
hakanight Posted September 3, 2013 Share Posted September 3, 2013 işime yaradı saol. Quote Link to comment Share on other sites More sharing options...
asmazh Posted September 6, 2013 Share Posted September 6, 2013 AdlibRegister ile fonksiyonu 1 saniyede bir çalıştırmana gerek yoktur. Windows Events'den FormActive-Deactive (Neyse artık tam olarak bilmiyorum eventin ismini...) olayını bul, gerekli kodları event'in fonksiyonunu açarak yaz. Geriye kalanı Windows'a bırak. Böylelikle programı yormazsın. Basit-küçük programların senin verdiğini kullanmasında bir sorun yok ama uzun işler için 1 saniyede bir böyle bir fonksiyon ile işletim sistemini rahatsız etmek hiç hoş olmaz. Quote Link to comment Share on other sites More sharing options...
SimpsoN_Bart Posted September 21, 2013 Author Share Posted September 21, 2013 Burada ki asıl amaç aslında FormActive-Deactive meselesi değil.. Yani bu fonksiyonu ben bile bir kere ya kullandım ya kullanmadım. Ben böyle fonksiyonlar verirken kodların kullanım yerlerini göstermeyi amaçlıyorum..Misal bunu hazırlamadan önce forumda bir arkadaşım fonksiyonu belirli saniyede çalıştırmak için nasıl bir yol izlemeliyim diye sordu ve yanlış hatırlamıyorsam local dim const ve static kodlarını da sormuştu bende bunların içerdiği ek olarak işe yarabilecek diğer kodlardan oluşan sorularını cevap olur ümidiyle bu fonksiyonu yazdım. Böylece hem static hemde AdlibRegister kodlarının kullanıldığı yerleri gösterdim ve farklı olarak mouse hareketine göre formun şeffaflığını ayarlayan kod demetlerini açıklamış oldum.. Böyle basit fonksiyonları veya program kodlarını verirken bu açıklamayı da yapıyorum.. Amaç autoit kodlarının kullanım yerlerini göstermek bunun yanında işe yarar projeler üretmek..Ayrıca bu programı sistemi fazla yormaz ben 1 ms yazmışım onu yazmaya gerek yoktur ve her autoit e yeni başlayan üye de Windows Eventleri bilmeye bilir ki forumda çok var. Bu yüzden kodlarla iş görülmesini sağlıyorum ince noktaları ve teknik kodları her autoit programcısı bilmeyebilir. Ben hep bunları baz alarak kod paylaşıyorum foruma proje atıyorum. Kendi kod sitilim tam olarak bu şekilde değil zaten..Büyük projeler için teknik konuları bilmek gerekiyor.Örneğin C# da Bellek Yönetimi ve Garbage Collector gibi ince detaylarla kendimi geliştiriyorum.. Sattığım veya geliştirdiğim programlarda buna önem gösteriyorum çünkü başka şekilde tam performans sağlayamam neyse lafı çok uzattık. Dediklerinde doğru pay var fakat sen dediğin şekilde kullan bilmeyen arkadaşlar bu şekilde kullanır zaten üstte arkadaş da yararlanmış işine gelen bu şekilde diğer çok ince detayları bilen ve takılan arkadaşlar senin doğru dediğin gibi kullanır tabi sorun böylece çözülmüş olur.Kolay gelsin. 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.