Jump to content

Trayicon Sorunu....


promes
 Share

Recommended Posts

[b]Merhaba arkadaşlar. Benim sorunum şu şekilde. Aşağıdaki kodları bu siteden bi konudan aldım. Resim ve müzik eklemede sorun yok. Çok güzel çalışıyor. Fakat ben bir konuda takıldım. Resim birden görünüyor ve Sleep(5000) süresi sonunda aniden kayboluyor. Resim aşağıdan çıksın ve süre bitince aşağıya doğru insin istiyorum. Yani aşağı ve yukarı efekti nasıl uygularız. ? Şimdiden teşekkür ederim[/b]

[CODE]
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=cs.ico
#AutoIt3Wrapper_UseX64=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
Global $Resim = __TempFile(".png")
Global $MP3 = __TempFile(".wav")
FileInstall("Resim.png", $Resim, 1) ;Resmi autoit içine alalım
FileInstall("Muzik.wav", $MP3, 1) ;MP3ü autoit içine alalım
If FileExists($MP3) = 1 Then SoundPlay($MP3, 0)
Global $ResW, $ResH
_My_Gui()
Sleep(5000)
FileDelete($Resim)
FileDelete($MP3)
Exit
Func SetBitmap($hGUI, $hImage, $iOpacity)
Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
$hScrDC = _WinAPI_GetDC(0)
$hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
$hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
$hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
$tSize = DllStructCreate($tagSIZE)
$pSize = DllStructGetPtr($tSize)
$ResW = _GDIPlus_ImageGetWidth($hImage)
$ResH = _GDIPlus_ImageGetHeight($hImage)
DllStructSetData($tSize, "X", $ResW)
DllStructSetData($tSize, "Y", $ResH)
$tSource = DllStructCreate($tagPOINT)
$pSource = DllStructGetPtr($tSource)
$tBlend = DllStructCreate($tagBLENDFUNCTION)
$pBlend = DllStructGetPtr($tBlend)
DllStructSetData($tBlend, "Alpha", $iOpacity)
DllStructSetData($tBlend, "Format", 1)
_WinAPI_UpdateLayeredWindow($hGUI, $hScrDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
_WinAPI_ReleaseDC(0, $hScrDC)
_WinAPI_SelectObject($hMemDC, $hOld)
_WinAPI_DeleteObject($hBitmap)
_WinAPI_DeleteDC($hMemDC)
EndFunc ;==>SetBitmap
Func _My_Gui()
Local $yGUI = GUICreate("", 1, 1, 0, 0, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
_GDIPlus_Startup()
Local $yImage = _GDIPlus_ImageLoadFromFile($Resim)
SetBitMap($yGUI, $yImage, 255)
Local $Gui_X = @DesktopWidth - ($ResW + 5)
Local $Gui_Y = @DesktopHeight - ($ResH + 5)
Local $Shell_Pos = WinGetHandle("[CLASS:Shell_TrayWnd]") ;CLASS:Progman
If $Shell_Pos <> "" Then
$Shell_Pos = WinGetPos($Shell_Pos)
If UBound($Shell_Pos) = 4 Then
If $Shell_Pos[1] < 1 Then
If $Shell_Pos[0] > 0 Then $Gui_X = @DesktopWidth - ($Shell_Pos[2] + ($ResW + 5))
Else
If $Shell_Pos[0] < 1 Then $Gui_Y = @DesktopHeight - ($Shell_Pos[3] + ($ResH + 5))
EndIf
EndIf
EndIf
WinMove($yGUI, "", $Gui_X, $Gui_Y, $ResW, $ResH)
GUISetState(@SW_SHOW)
EndFunc ;==>_My_Gui
Func __TempFile($s_FileExtension = ".tmp", $s_DirectoryName = @TempDir, $s_FilePrefix = "~", $i_RandomLength = 7)
; Check parameters
If IsKeyword($s_FilePrefix) Then $s_FilePrefix = "~"
If IsKeyword($s_FileExtension) Then $s_FileExtension = ".tmp"
If IsKeyword($i_RandomLength) Then $i_RandomLength = 7
If Not FileExists($s_DirectoryName) Then $s_DirectoryName = @TempDir ; First reset to default temp dir
If Not FileExists($s_DirectoryName) Then $s_DirectoryName = @ScriptDir ; Still wrong then set to Scriptdir
; add trailing \ for directory name
If StringRight($s_DirectoryName, 1) <> "\" Then $s_DirectoryName = $s_DirectoryName & "\"
; Local $s_TempName
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
[/CODE]
Link to comment
Share on other sites

birde burdaki örneklere bak

[CODE]

#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>
Dim $_GuiDelete

$_PngUrl = 'http://www.uclouvain.be/cps/ucl/doc/adcp/images/Google_logo.png'
$_PngPath = @TempDir & "\temp1.png"
If Not FileExists ( $_PngPath ) Then InetGet ( $_PngUrl, $_PngPath, 1 )
_GDIPlus_Startup ( )
$_Image = _GDIPlus_ImageLoadFromFile ( $_PngPath )
$_Width = _GDIPlus_ImageGetWidth ( $_Image )
$_Height = _GDIPlus_ImageGetHeight ( $_Image )
$_Ratio = $_Width / $_Height

; example 1
For $_Width = 200 To @DesktopWidth/2 Step 10
$_Gui = GUICreate ( "gui", $_Width , $_Width / $_Ratio, -1, -1, -1, BitOR ( $WS_EX_LAYERED, $WS_EX_TOPMOST, $WS_EX_TOOLWINDOW ) )
$_Image = _ImageResize ( $_PngPath, $_Width, $_Width / $_Ratio )
_SetBitMap ( $_Gui, $_Image, 255, $_Width, $_Width / $_Ratio )
GUISetState ( @SW_SHOW )
Next

Sleep ( 2000 )
_GDIPlus_GraphicsDispose ( $_Image )
_GDIPlus_Shutdown ( )
While Not $_GuiDelete
$_GuiDelete= Not GUIDelete ( WinGetHandle ( "gui" ) )
WEnd
Sleep ( 2000 )

; example 2
$_PngUrl = 'http://www.pc-infopratique.com/images/banque/dell_logo_circle_2.png'
$_PngPath = @TempDir & "\temp2.png"
If Not FileExists ( $_PngPath ) Then InetGet ( $_PngUrl, $_PngPath, 1 )
_GDIPlus_Startup ( )
$_Image = _GDIPlus_ImageLoadFromFile ( $_PngPath )
$_Width = _GDIPlus_ImageGetWidth ( $_Image )
$_Height = _GDIPlus_ImageGetHeight ( $_Image )
$_Ratio = $_Width / $_Height

For $_Width = 50 To @DesktopWidth/2 Step 10
$_Gui = GUICreate ( "gui", $_Width , $_Width / $_Ratio, -1, -1, -1, BitOR ( $WS_EX_LAYERED, $WS_EX_TOPMOST, $WS_EX_TOOLWINDOW ) )
$_Image = _ImageResize ( $_PngPath, $_Width, $_Height )
_SetBitMap ( $_Gui, $_Image, 255, $_Width, $_Height )
GUISetState ( @SW_SHOW )
Next

Sleep ( 2000 )
_GDIPlus_GraphicsDispose ( $_Image )
_GDIPlus_Shutdown ( )
$_GuiDelete= Not $_GuiDelete
While Not $_GuiDelete
$_GuiDelete= Not GUIDelete ( WinGetHandle ( "gui" ) )
WEnd
Sleep ( 2000 )

; example 3
$_PngUrl = 'http://www.blogandcom.com/wp-content/uploads/2009/09/twitter_logo-1024x378.png'
$_PngPath = @TempDir & "\temp3.png"
If Not FileExists ( $_PngPath ) Then InetGet ( $_PngUrl, $_PngPath, 1 )
_GDIPlus_Startup ( )
$_Image = _GDIPlus_ImageLoadFromFile ( $_PngPath )
$_Width = _GDIPlus_ImageGetWidth ( $_Image )
$_Height = _GDIPlus_ImageGetHeight ( $_Image )
$_Ratio = $_Width / $_Height

For $_Width = 300 To @DesktopWidth/1.3 Step 10
$_Gui = GUICreate ( "", $_Width , $_Width / $_Ratio, -1, -1, -1, BitOR ( $WS_EX_LAYERED, $WS_EX_TOPMOST, $WS_EX_TOOLWINDOW ) )
$_Image = _ImageResize ( $_PngPath, $_Width, $_Height )
_SetBitMap ( $_Gui, $_Image, 255, $_Width, $_Width / $_Ratio )
GUISetState ( @SW_SHOW )
Next

Sleep ( 2000 )
_GDIPlus_GraphicsDispose ( $_Image )
_GDIPlus_Shutdown ( )
$_GuiDelete= Not $_GuiDelete
While Not $_GuiDelete
$_GuiDelete= Not GUIDelete ( WinGetHandle ( "gui" ) )
WEnd
Exit

Func _SetBitmap ( $hGUI, $hImage, $iOpacity, $n_width, $n_height )
Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
$hScrDC = _WinAPI_GetDC ( 0 )
$hMemDC = _WinAPI_CreateCompatibleDC ( $hScrDC )
$hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap ( $hImage )
$hOld = _WinAPI_SelectObject ( $hMemDC, $hBitmap )
$tSize = DllStructCreate ( $tagSIZE )
$pSize = DllStructGetPtr ( $tSize )
DllStructSetData ( $tSize, "X", $n_width )
DllStructSetData ( $tSize, "Y", $n_height )
$tSource = DllStructCreate ( $tagPOINT )
$pSource = DllStructGetPtr ( $tSource )
$tBlend = DllStructCreate ( $tagBLENDFUNCTION )
$pBlend = DllStructGetPtr ( $tBlend )
DllStructSetData ( $tBlend, "Alpha", $iOpacity )
DllStructSetData ( $tBlend, "Format", 1 )
_WinAPI_UpdateLayeredWindow ( $hGUI, $hScrDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA )
_WinAPI_ReleaseDC ( 0, $hScrDC )
_WinAPI_SelectObject ( $hMemDC, $hOld )
_WinAPI_DeleteObject ( $hBitmap )
_WinAPI_DeleteDC ( $hMemDC )
EndFunc ;==> _SetBitmap ( )

Func _ImageResize ( $sInImage, $newW, $newH, $sOutImage = "" )
Local $oldImage, $GC, $newBmp, $newGC
If $sOutImage = "" Then _GDIPlus_Startup ( )
$oldImage = _GDIPlus_ImageLoadFromFile ( $sInImage )
$GC = _GDIPlus_ImageGetGraphicsContext ( $oldImage )
$newBmp = _GDIPlus_BitmapCreateFromGraphics ( $newW, $newH, $GC )
$newGC = _GDIPlus_ImageGetGraphicsContext ( $newBmp )
_GDIPlus_GraphicsDrawImageRect ( $newGC, $oldImage, 0, 0, $newW, $newH )
_GDIPlus_GraphicsDispose ( $GC )
_GDIPlus_GraphicsDispose ( $newGC )
_GDIPlus_ImageDispose ( $oldImage )
If $sOutImage = "" Then
Return $newBmp
Else
_GDIPlus_ImageSaveToFile ( $newBmp, $sOutImage )
_GDIPlus_BitmapDispose ( $newBmp )
_GDIPlus_Shutdown ( )
Return 1
EndIf
EndFunc ;==> _ImageResize ( )
[/CODE]

umarım işini görür.kodları sen kendine göre ayarla
kodları düzenleme konusunda bu aralar zamanım yok.

Link to comment
Share on other sites

Eyw cevapladığın için. Ama benim sorumla bu kodların alakası bile yok. Ben konuda verdiğim kodların işlemlerini yapmak istiyorum. Yani autoitin içine png ve müzik dosyasını alıcak. Yukarıda verdiğim kodlarda bunu yapıyor. Fakat resim aşağıdan çıksın ve kaybolurken aşağıya doğru inerek kaybolsun. Bu şekilde hazır kod varmı. veya konudaki kodu derleyebilirmisiniz.? Çok uğraştım ama bi yerlerde hata yapıyorum sürekli. Kodlar bozuluyor

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

  • Similar Content

    • By djmusto
      arkadaşlar ASUS O8Z77-V LE PLUS anakarımın bios güncellemesi yaptıktan sonra 32gb olan 16 gb gözükmeye başladı Ai Overclock Tune den profili X.M.P  Seçtiğim hale 32 çıkartamadım bios SPD informetionda 4 ram de gözüküyor aşağıda bios screenshotları atıyorum yardım ederseniz sevinirim 
    • By onurx
      Merhabalar Arkadaşlar
      Windows 10 bilgisayarımda daha önce yaşanıp çözdüğüm bazı sorunlar vardı bunlar ad aware programlarıyla ve regedit aracılığıyla düzelttiğim hatalardı.
      Dolayısıyla bu hataları giderirken sanırım hatalı bişeyler yapmış olmam gerekir yada temizleme programlarının uygulama esnasında yaşanılan hatalar dan kaynaklı diye tahmin ediyorum.
      Çok büyük bi sorun olduğunu düşünmüyorum ama takıntı oluyor işte kafama.
      Masaüstünde boşlukta sağ tıkladığım zaman 5 sn kadar bekliyorum sağ tık menüsünün açılmasını.
      Nasıl çözüm yolu bulurum yardımlarınızı rica ederim.
    • By muya3813
      KIS 2016 açıkken google a bile giremiyorum. Resimlerde ki gibi bağlantı güvenli değil diye açılmıyor sayfalar. Diğer tarayıcılarla da denedim.
      Lütfen bilen biri yardımcı olsun.
      Teşekkürler...


    • By fevzi525
      Merhaba
      Dell latitude e4310 kullanıcısıyım parmak izi okuyucuyu aktif edemedım driver kurulu biyometrıık aygıtlarda aygıt yok diyor. Aygıt yöneticisi aygıtı goruyo ama calısmıyor tesekkurler..
    • By cdumanova
      Arkadaşlar acayip sıkıntılı bi durumum var sabahtan beri girmediğim çıkmadığım delik kalmadı yok yapamıyorum resimlik olarak göstericem arkadaşlar.
       
       
       
      bu şekilde panelden giriyorum başlığımı

       
       
      türkçe karakterler çıkmıyor ne yaptımsa çözemedim

       
       
      yalnızca bu fontta sıkıntı yaşıyorum buda kendi kendine resim üzerine yazıyor bunu üzerine geldiğinde resim olarak görünüyor arkadaşlar lütfen yardım edin

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...