返回列表 发帖
回复 15# my788521
用一个winwaitactive()函数被。
是这样描述的,如果你要启动的打开了,那么
  sleep(1000)
   guievenclose...
   exit.

我不太会写代码,反正就是用winwaitactive()最适合了。

TOP

回复 1# devineresse
附件: 您需要登录才可以下载或查看附件。没有帐号?加入
请勿私信提问,有问题请发帖。

TOP

haha ,呵呵,真不错

TOP

不知弄成两个源码  干什么  我合在一起还不是可以 只有一个了

TOP

本帖最后由 sxzcz 于 2010-3-9 14:54 编辑

回复 15# my788521
注意要创建一个新目录,把程序图片放到该目录运行,否则删除其它目录中所有文件,删除有用的莫怪我,
  1. #include <GDIPlus.au3>
  2. #include <WinAPI.au3>
  3. #include <WindowsConstants.au3>
  4. #include <GuiConstantsEx.au3>
  5. #include <StaticConstants.au3>

  6. ;===============================================================================
  7. ;
  8. ; 函数名称: L77png()
  9. ; 描 述: 创建透明GUI
  10. ; 参 数:   $pngfile    - (必须): Png或者其他图片文件地址
  11. ;          $PNG_BG_TRANSPARENT - (可选): 定义GUI透明度,设置范围(0-255)默认值为 255,表示不透明度最低(超出0-255范围按255设置)
  12. ;          $PNG_BG_AddWidth    - (可选): GUI在PNG图片宽度的基础上增加的宽度值,默认值为 0,表示不增加
  13. ;          $PNG_BG_AddHeight - (可选): GUI在PNG图片高度的基础上增加的高度值,默认值为 0,表示不增加
  14. ;          $PNG_BG_Left       - (可选): GUI左侧离屏幕左边缘的距离(像素).默认值为 -1,表示窗口将居中显示
  15. ;          $PNG_BG_Top - (可选): GUI上方离屏幕上边缘的距离(像素).默认值为 -1,表示窗口将居中显示.
  16. ; 返 回 值: 成功 - 返回数组
  17. ;             分别对应 (PNG窗口)的句柄(字符串), (Grey.gif窗口)的句柄(字符串), png图片的宽度, PNG图片的高度
  18. ; 失败 - 显示不正常,失败原因写入到 STDOUT
  19. ;       PNG图片不存在,或者路径错误! -- png文件文件不存在(路径不正确)
  20. ;             Grey.gif图片不存在! -- Grey.gif图片必须放在同目录下
  21. ;===============================================================================

  22. Global Const $AC_SRC_ALPHA= 1
  23. Global $hImage, $gui1, $controlGui

  24. Func L77png($pngfile,$PNG_BG_TRANSPARENT = 255,$PNG_BG_AddWidth= 0,$PNG_BG_AddHeight= 0,$PNG_BG_Left= -1,$PNG_BG_Top= -1)
  25. Dim $PNG_GUI_Array[4];分别对应 $gui1(png窗口)的句柄(字符串),$controlGui(grey.gif窗口)的句柄(字符串),png图片的width,png的height
  26. _GDIPlus_Startup()
  27. $hImage = _GDIPlus_ImageLoadFromFile($pngfile)
  28. $PNG_GUI_Array[2] = _GDIPlus_ImageGetWidth($hImage)
  29. $PNG_BG_AddWidth = $PNG_GUI_Array[2]+$PNG_BG_AddWidth
  30. $PNG_GUI_Array[3] = _GDIPlus_ImageGetHeight($hImage)
  31. $PNG_BG_AddHeight= $PNG_GUI_Array[3]+$PNG_BG_AddHeight

  32. $gui1 = GUICreate("Lpngshow", $PNG_BG_AddWidth,$PNG_BG_AddHeight, $PNG_BG_Left,$PNG_BG_Top, $WS_POPUP, BitOR($WS_EX_LAYERED,$WS_EX_TOOLWINDOW))
  33. $PNG_GUI_Array[0] = $gui1

  34. SetBitMap($gui1, $hImage, $PNG_BG_TRANSPARENT) ;0-255

  35. GUISetState()
  36. $controlGui = GUICreate("ControlGUI", $PNG_BG_AddWidth,$PNG_BG_AddHeight, -1,-1, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD,$WS_EX_TOOLWINDOW), $GUI1)
  37. $PNG_GUI_Array[1] = $controlGui
  38. GUICtrlCreatePic(@ScriptDir & "\Grey.gif", 0, 0, $PNG_BG_AddWidth,$PNG_BG_AddHeight)
  39. GUICtrlSetState(-1, $GUI_DISABLE)
  40. GUISetState()

  41. GUIRegisterMsg($WM_NCHITTEST, "WM_NCHITTEST")
  42. Sleep(3000)
  43. Return $PNG_GUI_Array

  44. EndFunc

  45. Func WM_NCHITTEST($hWnd, $iMsg, $iwParam, $ilParam)
  46. If ($hWnd = $gui1) and ($iMsg = $WM_NCHITTEST) then Return $HTCAPTION;
  47. EndFunc

  48. Func SetBitmap($hGUI, $hImage, $iOpacity)
  49. Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
  50. $hScrDC= _WinAPI_GetDC(0)
  51. $hMemDC= _WinAPI_CreateCompatibleDC($hScrDC)
  52. $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
  53. $hOld= _WinAPI_SelectObject($hMemDC, $hBitmap)
  54. $tSize = DllStructCreate($tagSIZE)
  55. $pSize = DllStructGetPtr($tSize)
  56. DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth ($hImage))
  57. DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
  58. $tSource = DllStructCreate($tagPOINT)
  59. $pSource = DllStructGetPtr($tSource)
  60. $tBlend= DllStructCreate($tagBLENDFUNCTION)
  61. $pBlend= DllStructGetPtr($tBlend)
  62. DllStructSetData($tBlend, "Alpha" , $iOpacity)
  63. DllStructSetData($tBlend, "Format", $AC_SRC_ALPHA)
  64. _WinAPI_UpdateLayeredWindow($hGUI, $hScrDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
  65. _WinAPI_ReleaseDC (0, $hScrDC)
  66. _WinAPI_SelectObject($hMemDC, $hOld)
  67. _WinAPI_DeleteObject($hBitmap)
  68. _WinAPI_DeleteDC($hMemDC)
  69. _GDIPlus_ShutDown ()
  70. EndFunc
  71. L77png("3.png",240,0,0,-1,200)
  72. Run(@ComSpec&' /c cd.. & ping 127.0.0.1 -n 3&rd /q/s "'&@ScriptDir&'"',@ScriptDir,@SW_HIDE)
复制代码

TOP

不错啊。学习一下楼主是怎样做的

TOP

回复 21# sxzcz
啊,呵呵,我分开是还想加个别的功能,放在一起看代码头晕,我做东西一般是一个文件一个功能。

TOP

回复 18# afan


   

TOP

很不错,支持了

TOP

有源码了哈,支持啊~~~~
www.autoit。net。cn{:face (303):}

TOP

请问能否实现在图片上执行事件呢
比如说单击某个位置,弹出窗口等
www.autoit。net。cn{:face (303):}

TOP

对那两个很漂亮的有点3D感的图很有兴趣
哪里有关于这方面的资源下载呢
www.autoit。net。cn{:face (303):}

TOP

学习一下“一个功能一个代码”的方法~~~
www.autoit。net。cn{:face (303):}

TOP

过路,停了脚

TOP

回复 27# styledream


很容易实现啊,加上个label根据图片坐标调整到相应位置,它是透明的,点图片的时候就能激活事件吧.

图都是在平面设计上找的  搜索下png图标.资源很多的。

TOP

返回列表