Что нового

Подменить изображение экрана созданным GUI

Pahuchiy

Новичок
Сообщения
37
Репутация
0
Никак не получается сделать так чтобы вновь созданный GUI отображался как в "полноэкранном режиме", без заголовка. В примере ниже скрипт по задумке должен сработать так что визуально подмену заметить было бы невозможно. Но как видно, сверху - заголовок, снизу - обрезанный битмап.
Код:
#include <GUIConstantsEx.au3>
#include <GDIPlus.au3>
#include <ScreenCapture.au3>
#include-once
#include <Array.au3>
#include <String.au3>
#Region PREPARE
#AutoIt3Wrapper_UseX64=y
#include-once
#include <AVIConstants.au3>
#include <GUIConstants.au3>
#include <GuiConstantsEx.au3>
#include <TreeViewConstants.au3>
#include <Constants.au3>
#include <File.au3>
#include <GDIPlus.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <ScreenCapture.au3>
#include <Misc.au3>
#include <EditConstants.au3>
#include <WinAPIFiles.au3>
#include <WinAPIProc.au3>

#include <WinAPIGdi.au3>
#include <GuiImageList.au3>
#include <GuiListView.au3>
#include <misc.au3>
#include <File.au3>
#NoTrayIcon
	Local $hGUI, $hBMP, $hBitmap, $hGraphic

    ; Захватывает левый верхний угол экрана
    $hBMP = _ScreenCapture_Capture ("" )

    ; Создаёт GUI
    $hGUI = GUICreate("", 0,0,1919, 1079,$WS_MAXIMIZE)
    GUISetState()

    ; Инициализация библиотеки GDI+
    _GDIPlus_Startup ()

    ; Рисует bitmap в GUI
    $hBitmap = _GDIPlus_BitmapCreateFromHBITMAP ($hBMP)
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hGUI)
    _GDIPlus_GraphicsDrawImage ($hGraphic, $hBitmap, 0, 0)

    ; Очищает ресурсы
    _GDIPlus_GraphicsDispose ($hGraphic)
    _GDIPlus_BitmapDispose ($hBitmap)
    _WinAPI_DeleteObject ($hBMP)

    ; Закрывает библиотеку GDI+
    _GDIPlus_ShutDown ()

    ; Цикл выполняется, пока окно не будет закрыто
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
 
Автор
P

Pahuchiy

Новичок
Сообщения
37
Репутация
0
чтобы изображение экрана не менялось при перемещении по нему курсора (например, кнопка не меняла бы цвет при наведении на неё итд), а как бы "застыло" и не обновлялось
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
типа Винлокера.
Pahuchiy, вопрос "зачем" как раз про это.
 
Автор
P

Pahuchiy

Новичок
Сообщения
37
Репутация
0
понятно...вообщето я кликер пишу....
 

hedji

Продвинутый
Сообщения
409
Репутация
94
Pahuchiy сказал(а):
понятно...вообщето я кликер пишу....
Интересный кликер, который ни разу в коде не кликает :scratch:
Если Ваша цель подшутить над коллегой, то раньше делали так: сделать скриншот рабочего стола, поставить его в качестве обоев, все ярлыки и документы с рабочего стола переместить в другую папку.
 
Автор
P

Pahuchiy

Новичок
Сообщения
37
Репутация
0
по моему, это уже мания приследования.... :rofl:
детский вопрос по сути и такая реакция...
вопрос решён:
Код:
$hGUI = GUICreate("fullscreencover",0,0,@DesktopWidth,@DesktopHeight,$WS_POPUP+$WS_MAXIMIZE)
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
hedji [?]
Если Ваша цель подшутить над коллегой
когда только начинал изучать autoit сделал такую шутку :smile:

Pahuchiy [?]
по моему, это уже мания приследования.
совсем наоборот. это осторожность. тут бывал народ, который пытался через "детские вопросы" выяснить как написать подобное.
но... мы так и не услышали, Зачем это нужно? одни лишь хиханьки да уход в сторону в разговоре.
и кстати, из-за всяких " детских писателей" autoit часто попадает в "нелюбовь" к антивирям
 
Верх