Это начальная версия моей программы, в данный момент она доработана по моему вкусу. Тем кому надо, ни что не мешает подкрутить ее под себя.
Код:
UseJPEGImageEncoder() sohr.s If ReadFile(0, "UcScrin.ini") For xx=1 To 4 poip$=ReadString(0) Select xx Case 1 Resultat=Val(poip$) Case 2 shirina=Val(poip$) Case 3 visota=Val(poip$) Case 4 sohr$=poip$ EndSelect Next xx CloseFile(0) Else MessageRequester("Сообщение","Невозможно открыть файл UcScrin.ini !") EndIf If OpenWindow(0, 100, 150, 300, 100, "PureBasic - SysTray Example", #PB_Window_SystemMenu | #PB_Window_Invisible) EndIf IconN$ = "1.ico" AddSysTrayIcon(1, WindowID(0),LoadImage(1,IconN$)) SysTrayIconToolTip(1, "UcScrin") CreatePopupMenu(0) MenuItem(1, "Настройки") MenuBar() MenuItem(10, "Выход") Q = 0 Repeat Sleep_(1) For r=40 To 50 Event = WaitWindowEvent(10) If Event = #PB_Event_SysTray If EventType() = #PB_EventType_RightClick DisplayPopupMenu(0, WindowID(0)) EndIf EndIf If Event = #PB_Event_Gadget If EventGadget() = 4 CloseWindow(1) If OpenFile(0, "UcScrin.ini") WriteStringN(0, Str(Resultat)) WriteStringN(0, Str(shirina)) WriteStringN(0, Str(visota)) WriteStringN(0,sohr$) CloseFile(0) EndIf EndIf EndIf If Event = #PB_Event_Gadget If EventGadget() = 7 CloseWindow(1) EndIf EndIf If Event = #PB_Event_Gadget If EventGadget() = 3 Resultat = GetGadgetState(3) EndIf EndIf If Event = #PB_Event_Gadget If EventGadget() = 2 shirina = GetGadgetState(2) EndIf EndIf If Event = #PB_Event_Gadget If EventGadget() = 1 visota = GetGadgetState(1) EndIf EndIf If Event = #PB_Event_Gadget If EventGadget() = 14 sohr$ = PathRequester("Папка сохранения скриншота", "") SetGadgetText(12,sohr$) Debug sohr$ EndIf EndIf If Event = #PB_Event_Menu Select EventMenu() Case 1 If OpenWindow(1, 300, 200, 300, 450,"Настройки", #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget) TrackBarGadget(3, 30, 200, 230, 50, 1, 10,#PB_TrackBar_Ticks) SetGadgetState(3, Resultat) TextGadget(5, 30, 180, 50, 20, "Плохое") TextGadget(6, 230, 180, 50, 20, "Отличное") TextGadget(8, 120, 150, 70, 20, "КАЧЕСТВО:") TextGadget(9, 120, 50, 70, 20, "РАЗМЕРЫ:") TextGadget(10, 65, 80, 70, 20, "Ширина") TextGadget(11, 185, 80, 70, 20, "Высота") EditorGadget(12, 10, 280, 280, 20) SetGadgetText(12,sohr$) TextGadget(13, 10, 260, 180, 20, "ПУТЬ К СКРИНШОТУ:") ButtonGadget(14, 230, 310, 60, 20,"Сменить") ButtonGadget(4, 30, 400, 100, 30,"Принять") ButtonGadget(7, 170, 400, 100, 30,"Отмена") SpinGadget(2, 60, 100, 70, 20, 10, 1200,#PB_Spin_Numeric) SetGadgetState (2, shirina) SpinGadget(1, 180, 100, 70, 20, 10, 1200,#PB_Spin_Numeric) SetGadgetState (1, visota) EndIf Case 10 Q = 1 EndSelect EndIf If Q=1 End EndIf If GetAsyncKeyState_(r)<>0 If r=#VK_SNAPSHOT GetClipboardImage(0) ResizeImage(0, shirina, visota) If SaveImage(0,sohr$+"new.jpeg",#PB_ImagePlugin_JPEG,Resultat) ClearClipboard() EndIf EndIf EndIf Next r ForEver