Скриншот экрана
Программа для создания скриншотов рабочего окна или всего экрана, в формате PNG или BMP.
Код реализации для версии PB 4.40 :
;---------------------------Программа для снятия скриншотов-----------------------------
;
; PureBasic 4.40
;
; (с) 2009 - mirashic
;
;---------------------------------------------------------------------------------------
Enumeration
#Window_0
EndEnumeration
Enumeration
#Image_1
EndEnumeration
InitSound()
UsePNGImageDecoder()
UsePNGImageEncoder()
CatchSound(0,?IB1,?IB2-?IB1)
CatchImage(10, ?Im, ?ImEnd -?Im)
;SP.s=Space(255)
;GetSystemDirectory_(SP,255)
OpenWindow(#Window_0, 0, 0, 400, 150, "Скриншот", #PB_Window_MinimizeGadget| #PB_Window_ScreenCentered)
SetWindowColor(0, $ffffff)
ImageGadget(#Image_1,260,0,0,0,ImageID(10))
CheckBoxGadget(1, 25, 120, 14, 14, "")
TextGadget (2, 60, 120, 80, 15,"Формат: png")
TextGadget (3,30,15,250,15,"Проггамма для создания скриншотов")
TextGadget (4,45,35,200,15," в формате PNG и BMP")
TextGadget (5,25,65,200,15,"Выдели активное окно или экран")
TextGadget (6,25,85,200,15,"Нажми - Pint Screen")
For h=1 To 6
SetGadgetColor(h, #PB_Gadget_FrontColor, RGB(53, 53, 53)) ;цвет
SetGadgetColor(h, #PB_Gadget_BackColor, $ffffff) ;фон
Next h
a.s= ".png"
b= #PB_ImagePlugin_PNG
Repeat
Event= WaitWindowEvent(10)
Window=EventWindow()
Gadget=EventGadget()
;-------------------------------------------------------------
If Event=#PB_Event_Gadget And Gadget=1
Ptihka=GetGadgetState(1)
If Ptihka=0
a.s=".png"
b=#PB_ImagePlugin_PNG
SetGadgetText(2,"Формат: png")
Else
a.s=".bmp"
b=#PB_ImagePlugin_BMP
CaptureFullScreen()
SetGadgetText(2,"Формат: bmp")
EndIf
EndIf
If GetAsyncKeyState_(#VK_SNAPSHOT) = -32767
If CaptureWindow(ForegroundWindowGet())
PlaySound(0,0)
SaveCapture(""+ FormatDate("%hh_%ii_%ss", Date())+a.s, b, 0)
EndIf
EndIf
If Event=#PB_Event_CloseWindow
Break
EndIf
ForEver
DataSection
IB1:
IncludeBinary "файлы программы/sound.wav"
IB2:
Im:
IncludeBinary "файлы программы/Camera.png"
ImEnd:
EndDataSection
Скачать
архив.
Программа скриншот с минимум кода :
UsePNGImageEncoder()
SP.s=Space(255)
GetSystemDirectory_(SP,255)
W=OpenWindow(0,1,1,1,1,"shot",#PB_Window_Invisible)
AddSysTrayIcon(1, W,ExtractIcon_(0,SP+"\SetupAPI.dll",22))
SysTrayIconToolTip(1, "Exit")
Repeat
If WaitWindowEvent(10) = #PB_Event_SysTray
If EventType()=#PB_EventType_RightClick:Break:EndIf
EndIf
If GetAsyncKeyState_(#VK_SNAPSHOT) = -32767
If CaptureFullScreen()
SaveCapture("C:\"+ FormatDate("%hh_%ii_%ss", Date())+".png", #PB_ImagePlugin_PNG, 0)
EndIf
EndIf
ForEver
http://purebasic.info/phpBB2/viewtopic.php?t=971&postdays=0&postorder=asc&start=15