Code: Alles auswählen
Enumeration
#Window_0
EndEnumeration
#SRCCOPY = $CC0020
#DLLID_User32 = 0
#DLLID_GDI32 = 1
#ImageID = 0
#ERRMSG="Error"
Enumeration
#Hyperlink_0
#Text_0
#Text_2
#Text_3
#Text_4
#Text_5
#Frame3D_0
#Button_0
#Button_2
#Frame3D_1
#CheckBox_1
#CheckBox_2
#CheckBox_3
EndEnumeration
Enumeration
#StatusBar_0
EndEnumeration
Global FontID1
FontID1 = LoadFont(1, "Blade Runner Movie Font", 12, #PB_Font_Bold | #PB_Font_Italic)
Global FontID2
FontID2 = LoadFont(2, "Lucida Console", 10)
Procedure Open_Window_0()
If OpenWindow(#Window_0, 399, 81, 333, 228, "X-Snapper v.1.0", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateStatusBar(#StatusBar_0, WindowID(#Window_0))
EndIf
If CreateGadgetList(WindowID(#Window_0))
HyperLinkGadget(#Hyperlink_0, 70, 0, 170, 20, "www.xsoft.de.ms", RGB(0, 600, 600))
SetGadgetFont(#Hyperlink_0, FontID1)
TextGadget(#Text_0, 30, 150, 280, 10, "Drücke F12 um ein Screen zu machen")
SetGadgetFont(#Text_0, FontID2)
TextGadget(#Text_2, 30, 170, 70, 20, "Speichern als :")
TextGadget(#Text_3, 160, 170, 20, 20, ".jpg")
TextGadget(#Text_4, 280, 170, 30, 20, ".bmp")
TextGadget(#Text_5, 220, 170, 20, 20, ".gif")
Frame3DGadget(#Frame3D_0, 10, 160, 310, 40, "")
ButtonGadget(#Button_0, 20, 110, 80, 30, "Screens")
ButtonGadget(#Button_2, 230, 110, 80, 30, "Alle löschen")
Frame3DGadget(#Frame3D_1, 10, 20, 310, 80, "")
CheckBoxGadget(#CheckBox_1, 130, 170, 20, 20, "")
CheckBoxGadget(#CheckBox_2, 200, 170, 20, 20, "")
CheckBoxGadget(#CheckBox_3, 260, 170, 20, 20, "")
EndIf
EndIf
EndProcedure
Procedure.l ScreenShot(Path.s)
Protected hWnd.l
Protected hDC.l
Protected DeviceContext.l
If Not OpenLibrary(#DLLID_User32,"User32.dll") Or Not OpenLibrary(#DLLID_GDI32,"GDI32.dll")
ProcedureReturn #False
Else
hWnd = CallFunction(#DLLID_User32,"GetDesktopWindow")
hDC = CallFunction(#DLLID_User32,"GetDC",hWnd)
ExamineDesktops()
CreateImage(#ImageID,DesktopWidth(0),DesktopHeight(0))
DeviceContext = StartDrawing(ImageOutput(#ImageID)) ;>
CallFunction(#DLLID_GDI32,"BitBlt",DeviceContext,0,0,ImageWidth(#ImageID),ImageHeight(#ImageID),hDC,0,0,#SRCCOPY)
StopDrawing() ;<
SaveImage(#ImageID,Path)
FreeImage(#ImageID)
CloseLibrary(#DLLID_GDI32)
CloseLibrary(#DLLID_User32)
ProcedureReturn #True
EndIf
ProcedureReturn #False
EndProcedure
Open_Window_0()
AddKeyboardShortcut(#Window_0,#PB_Shortcut_F12,1)
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Menu
Select EventMenu()
Case 1
If GetGadgetState(#CheckBox_1) = 1
Screenshot(GetCurrentDirectory()+"Screens\"+"Screen.jpg"+erweiterung$)
EndIf
If GetGadgetState(#CheckBox_2) = 1
Screenshot(GetCurrentDirectory()+"Screens\"+"Screen.gif"+erweiterung$)
EndIf
If GetGadgetState(#CheckBox_3) = 1
Screenshot(GetCurrentDirectory()+"Screens\"+"Screen.bmp"+erweiterung$)
EndIf
EndSelect
EndIf
WindowID = EventWindow()
GadgetID = EventGadget()
EventType = EventType()
If Event = #PB_Event_Gadget
If GadgetID = #Hyperlink_0
ElseIf GadgetID = #Button_0
ElseIf GadgetID = #Button_2
DeleteFile(GetCurrentDirectory()+"Screens\"+"Screen"+erweiterung$)
ElseIf GadgetID = #CheckBox_1
If GetGadgetState(#CheckBox_1) = 1
MessageRequester("Hinweis:","Screen wird nun als .jpg gespeichert")
EndIf
ElseIf GadgetID = #CheckBox_2
If GetGadgetState(#CheckBox_2) = 1
MessageRequester("Hinweis:","Screen wird nun als .gif gespeichert")
EndIf
ElseIf GadgetID = #CheckBox_3
If GetGadgetState(#CheckBox_3) = 1
MessageRequester("Hinweis:","Screen wird nun als .bmp gespeichert")
EndIf
EndIf
EndIf
Until Event = #PB_Event_CloseWindow
End
XCorE
