#Include <WindowsConstants.au3>
#Include <GUIConstantsEx.au3>
$hAero = GUICreate('', 400, 300)
WinSetTrans($hAero, '', 100)
$hForm = GUICreate('', 400, 300, 0, 0, $WS_POPUP, $WS_EX_MDICHILD, $hAero)
$iButton = GUICtrlCreateButton('Exit', 20, 20, 80, 20)
GUISetState(@SW_SHOW, $hAero)
GUISetState(@SW_SHOW, $hForm)
While 1
Switch GUIGetMsg()
Case -3, $iButton
Exit
EndSwitch
Wend
#include <Array.au3>
HotKeySet("{ESC}", "Restore") ;нажать на ESC для снятия прозрачности окон и завершения скрипта
Dim $aVar1[1]
While 1
Sleep(50)
$Var2 = WinWait("")
Global $Var3 = UBound($aVar1)-1
If $Var2 <> $aVar1[$Var3] Then
_ArrayAdd( $aVar1,$Var2)
WinSetTrans($Var2, "", 150)
EndIf
WEnd
Func Restore()
MsgBox(64,"Восстановление","Снять прозрачность")
For $i = 0 To $Var3
WinSetTrans($aVar1[$i], "", 255)
Next
Exit
EndFunc
#include <WindowsConstants.au3>
#include <WinAPIEx.au3>
ShellExecute('notepad.exe')
WinWait('[CLASS:Notepad]')
$hWnd = WinGetHandle("[CLASS:Notepad]")
$WP = WinGetPos($hWnd)
$hAero = GUICreate('Notepad', $wp[2], $wp[3])
WinSetTrans($hAero, '', 180)
$GUI = GUICreate('Notepad', $wp[2], $wp[3], 0, 0, $WS_POPUP, $WS_EX_MDICHILD, $hAero)
GUISetState(@SW_SHOW, $hAero)
GUISetState(@SW_SHOW, $GUI)
_WinSetStyle($hWnd, $WS_POPUP, $WS_EX_COMPOSITED)
_WinAPI_SetParent($hWnd, $GUI)
WinMove($hWnd, '', 0, 0)
While 1
If Not ProcessExists('notepad.exe') Then Exit
Switch GUIGetMsg()
Case -3
ProcessClose('notepad.exe')
Exit
EndSwitch
WEnd
Func _WinSetStyle($hWnd, $nStyle = -1, $nExStyle = 0)
Local Const $GWL_STYLE = -16, $GWL_EXSTYLE = -20
Local Const $SWP_NOMOVE = 0x2, $SWP_NOSIZE = 0x1, $SWP_SHOWWINDOW = 0x40, $SWP_NOZORDER = 0x4
Local $iFlags = BitOR($SWP_SHOWWINDOW, $SWP_NOSIZE, $SWP_NOZORDER)
If $nStyle = -1 Then
$nStyle = BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU)
EndIf
$Pos = WinGetpos($hWnd)
$x = $Pos[0]
$y = $Pos[1]
DllCall("User32.dll", "int", "SetWindowLong", "hwnd", $hWnd, "int", $GWL_STYLE, "int", $nStyle)
DllCall("User32.dll", "int", "SetWindowLong", "hwnd", $hWnd, "int", $GWL_EXSTYLE, "int", $nExStyle)
DllCall("User32.dll", "int", "SetWindowPos", "hwnd", $hWnd, "hwnd", 0, "int", $x + 1, "int", $y + 1 , "int", 0, "int", 0, "int", $iFlags)
EndFunc
#include <WindowsConstants.au3>
#include <WinAPIEx.au3>
#include <SkinCrafter.au3>
ShellExecute('notepad.exe')
WinWait('[CLASS:Notepad]')
$hWnd = WinGetHandle("[CLASS:Notepad]")
_LoadSkinCrafter("SkinCrafterDll.dll")
$WP = WinGetPos($hWnd)
$GUI = GUICreate('Notepad', $wp[2], $wp[3])
_InitializeSkinCrafter($GUI, "Skin.skf")
GUISetState()
_WinSetStyle($hWnd, $WS_POPUP, $WS_EX_COMPOSITED)
_WinAPI_SetParent($hWnd, $GUI)
WinMove($hWnd, '', 0, 0)
While 1
If Not ProcessExists('notepad.exe') Then Exit
Switch GUIGetMsg()
Case -3
ProcessClose('notepad.exe')
Exit
EndSwitch
WEnd
Func _WinSetStyle($hWnd, $nStyle = -1, $nExStyle = 0)
Local Const $GWL_STYLE = -16, $GWL_EXSTYLE = -20
Local Const $SWP_NOMOVE = 0x2, $SWP_NOSIZE = 0x1, $SWP_SHOWWINDOW = 0x40, $SWP_NOZORDER = 0x4
Local $iFlags = BitOR($SWP_SHOWWINDOW, $SWP_NOSIZE, $SWP_NOZORDER)
If $nStyle = -1 Then
$nStyle = BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU)
EndIf
$Pos = WinGetpos($hWnd)
$x = $Pos[0]
$y = $Pos[1]
DllCall("User32.dll", "int", "SetWindowLong", "hwnd", $hWnd, "int", $GWL_STYLE, "int", $nStyle)
DllCall("User32.dll", "int", "SetWindowLong", "hwnd", $hWnd, "int", $GWL_EXSTYLE, "int", $nExStyle)
DllCall("User32.dll", "int", "SetWindowPos", "hwnd", $hWnd, "hwnd", 0, "int", $x + 1, "int", $y + 1 , "int", 0, "int", 0, "int", $iFlags)
EndFunc
А после того как я это прописала, мне каким форматом сохранять?Ну можно создавать 2 окна, 1е Прозрачное, а 2е дочернее не прозрачное.
Код:#Include <WindowsConstants.au3> #Include <GUIConstantsEx.au3> $hAero = GUICreate('', 400, 300) WinSetTrans($hAero, '', 100) $hForm = GUICreate('', 400, 300, 0, 0, $WS_POPUP, $WS_EX_MDICHILD, $hAero) $iButton = GUICtrlCreateButton('Exit', 20, 20, 80, 20) GUISetState(@SW_SHOW, $hAero) GUISetState(@SW_SHOW, $hForm) While 1 Switch GUIGetMsg() Case -3, $iButton Exit EndSwitch Wend