Автор Тема: GUI окно прозрачна для "мышки"  (Прочитано 139 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн zbz [?]

  • Новичок
  • *
  • Сообщений: 48
  • Репутация: 0
    • Награды
Версия AutoIt: 3.

Описание:
Нужно чтоб это окно в скрипте было прозрачно для "мышки" (если возможно, для окна тоже можно было задать визуальную прозрачность).

Код: AutoIt [Выделить]
local $Ipath = @Scriptdir&"\InstallSupport.png"
local $transColor = 0xABCDEF
_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile($Ipath)
$width = _GDIPlus_ImageGetWidth($hImage)
$height = _GDIPlus_ImageGetHeight($hImage)
$hGui = GUICreate("InstallSupport", $width, $height,-1,1,$WS_POPUP,$WS_EX_TOPMOST)
Guisetbkcolor($transColor,$hGui)
_WinAPI_SetLayeredWindowAttributes($hGui,$transColor,255)
GUISetState()
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGui)
_GDIPlus_GraphicsDrawImageRect($hGraphic,$hImage,0,0,$width,$height)
ProcessWait("123.exe")
ProcessWaitClose("123.exe")
GUIDelete("InstallSupport")


Русское сообщество AutoIt

GUI окно прозрачна для "мышки"
« Отправлен: Август 29, 2018, 16:18:17 »

Оффлайн zbz [?]

  • Новичок
  • *
  • Сообщений: 48

  • Автор темы
  • Репутация: 0
    • Награды
Re: GUI окно прозрачна для "мышки"
« Ответ #1, Отправлен: Август 30, 2018, 14:15:26 »
Вообщем пришлось, сделать так (наверняка есть "мусор" в скрипте, так как пришлось скрестить два скрипта):

Код: AutoIt [Выделить]
#Region    ************ Preprocessor Directives ************
#preproc App(ExecLevel, highestAvailable)
#EndRegion ************ Preprocessor Directives ************
; #RequireAdmin
AutoItSetOption("TrayIconDebug",1)
#NoTrayIcon

#Region    ************ Includes ************
;~ #include <GUIConstantsEx.au3>;~~~
#include <WindowsConstants.au3>
;~ #include <winapi.au3>;~~~
#include <gdiplus.au3>
#EndRegion ************ Includes ************

;-----------------------------------------------InstallSupport.png---------------------------------------------------------------------
local $Ipath = @Scriptdir&"\InstallSupport.png"
local $transColor = 0xABCDEF
_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile($Ipath)
$width = _GDIPlus_ImageGetWidth($hImage)
$height = _GDIPlus_ImageGetHeight($hImage)

Global $hGui = GUICreate("InstallSupport", $width, $height,-1,22,$WS_POPUP,$WS_EX_TOPMOST), $iExStyle = _WinAPI_GetWindowLong($hGUI, $GWL_EXSTYLE)

Guisetbkcolor($transColor,$hGui)
_WinAPI_SetLayeredWindowAttributes($hGui,$transColor,255)

GUIRegisterMsg($WM_ACTIVATE, "WM_ACTIVATE")
GUISetState()

Func WM_ACTIVATE($hWnd, $iMsg, $wParam, $lParam)
    Switch $hWnd
        Case $hGUI
            Switch _WinAPI_LoWord($wParam)
                Case 0
                    GUISetStyle(Default, $WS_EX_TRANSPARENT)
                    WinSetTrans($hGUI, Null, 130); Визуальная прозрачность (255 не прозрачно)
                Case 1, 2
                    _WinAPI_SetWindowLong($hGUI, $GWL_EXSTYLE, $iExStyle)
            EndSwitch
    EndSwitch
EndFunc   ;==>WM_ACTIVATE

$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGui)
_GDIPlus_GraphicsDrawImageRect($hGraphic,$hImage,0,0,$width,$height)
ProcessWait("123.exe")
ProcessWaitClose("123.exe")
GUIDelete("InstallSupport")


Русское сообщество AutoIt

Re: GUI окно прозрачна для "мышки"
« Ответ #1 Отправлен: Август 30, 2018, 14:15:26 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
6 Ответов
12903 Просмотров
Последний ответ Октябрь 07, 2009, 09:36:42
от akoulev
12 Ответов
12807 Просмотров
Последний ответ Декабрь 01, 2012, 02:05:11
от defens
14 Ответов
15006 Просмотров
Последний ответ Февраль 15, 2010, 11:29:38
от akoulev
8 Ответов
10875 Просмотров
Последний ответ Апрель 10, 2011, 11:50:11
от madmasles
2 Ответов
3521 Просмотров
Последний ответ Сентябрь 19, 2011, 17:39:59
от agikon
3 Ответов
4265 Просмотров
Последний ответ Август 25, 2013, 10:36:23
от Godygadu
6 Ответов
4514 Просмотров
Последний ответ Март 26, 2014, 16:36:48
от Alex Tevton
3 Ответов
3927 Просмотров
Последний ответ Март 27, 2014, 22:01:09
от AZJIO
6 Ответов
1386 Просмотров
Последний ответ Май 31, 2015, 18:56:31
от madmasles
6 Ответов
1697 Просмотров
Последний ответ Апрель 11, 2017, 20:48:34
от Alofa