Форум программистов, компьютерный форум, киберфорум
Бета-тестирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.51/595: Рейтинг темы: голосов - 595, средняя оценка - 4.51
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018

HideScreener - программа для скрытого создания скриншотов компьютера

12.06.2012, 04:50. Показов 138392. Ответов 277
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возможно велосипед, но я нужного в гугле для себя не нашел, потому написал свой скрытый скриншотер.

Особености:
  • Полностью скрытая работа. У программы нет вообще никакого интерфейса. Все настройки задаются через ini-файл. Интерфейс не реализован специально, чтобы программа случайно себя не выдала.
  • Скриншоты делаются автоматически через интервал указанный в настройках(в секундах) в папку, которая также указывается в настройках.
  • Возможность задавать качество скринов. Важная для меня опция, поскольку если компьютер работает сутками, то папка со скринами очень быстро разрастается в размерах. Этого помогает избежать задание низкого качества скринов.
  • Если даже происходит какая-то непредвиденная ошибка в программе, все сообщения пишутся в файл, а не выводятся на экран, после чего программа тихо перезагружается и дальше продолжает работать.
  • Имя программы замаскировано под виндовый файл svchost.exe

Прошу протестировать, есть ли глюки. Для меня сейчас очень важно протестировать на отсутствие ошибок, выводимых на экран.

Признателен буду за любой отловленный баг

Прямая ссылка на скачивание.По ней всегда будет актуальная версия.
P.S. Писал лично для себя и для контроля за тем, что происходит на моем компьютере во время моего отсутствия. Очень помогает решить многие проблемы, когда кто-то что-то "наклацал"
Вложения
Тип файла: zip HideScreener_1.0.0.0.zip (6.8 Кб, 2010 просмотров)
9
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.06.2012, 04:50
Ответы с готовыми решениями:

Посоветуйте программу для скрытого создания скриншотов
Всем привет. Завелась у нас тут в офисе "крыска", которая портит документы word и excel одного из сотрудников. По имени пользователя,...

Программа для создания скриншотов
Здравствуйте. Подскажите удобную программу, при помощи которой можно вырезать часть экрана и сделать пометки маркером на скриншоте.

Программа Joxi (для создания скриншотов) (Не запускается)
Доброго времени суток ! Недавно переехал на линукс. Обживаю ... Столкнулся с проблемой: Скачал пакет программы Joxi с официального...

277
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
29.06.2014, 15:29  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от NickoTin Посмотреть сообщение
Было бы неплохо узнать в чем конкретно требуется помощь, по пунктам если возможно
1. Помощь в добавлении функционала в программе, которого еще нет, но который заплнирован. Список того, чего еще нет, но что бы хотелось в будущем реализовать, есть в голосовании по ссылке: http://hidescreener.com/development/
Единственным исключением из того списка является "Удаленное управление работой программы" - это, скорее всего, не будет реализовано никогда. По крайней мере, это очень спорный функционал)
2. Поддержка программы. Под поддержкой я имею в виду помощь в исправлении ошибок, багов, недочетов, которые были найдены пользователями.

Прошу я помощи не из-за трудности в разработке, а из-за недостатка (а иногда полного отсутствия) времени на это

Добавлено через 2 минуты
Исходный код программы пока только хранится у меня локально. Если появятся желающие, тогда проект переведется на какую-нить систему контроля версий (будь то TFS или любая другая)
0
0 / 0 / 0
Регистрация: 14.02.2016
Сообщений: 3
15.02.2016, 10:37
Автору спасибо, прога супер. Но есть одна проблема, при включенном процессе наблюдается небольшое подергивание курсора мыши. Пробовал на нескольких ПК. Кто сталкивался с подобным?
0
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
15.02.2016, 10:48  [ТС]
alexanderfff, попробуйте отключить отображение курсора на скриншоте в настройках, если он вам не сильно нужен.
0
0 / 0 / 0
Регистрация: 14.02.2016
Сообщений: 3
15.02.2016, 11:54
Подскажите где эта настройка?
0
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
15.02.2016, 12:01  [ТС]
alexanderfff, откройте файл "settings.ini" в папке с программой, найдите там следующую строчку:
ShowMouseCursorOnScreenshot=Yes
Замените Yes на No.
Сохраните файл.
Перезагрузите HideScreener.
0
0 / 0 / 0
Регистрация: 14.02.2016
Сообщений: 3
15.02.2016, 21:24
Tolias28, в моей версии такой строчки нет. Использую 1.0.4.23a. Кстати курсор не отображается и без этой настройки.

Добавлено через 8 часов 8 минут
Пардон, использовал старую версию. В новой проблемы нет. На хр всё норм работает, а на 7ке при запуске HideScreenerSettings.exe выдал ошибку "Невозможно загрузить файл или сборку "sorttbls.nlp" или один из зависимых от них компонентов. Не удается найти указанный файл"
0
0 / 0 / 0
Регистрация: 25.05.2016
Сообщений: 1
25.05.2016, 12:36
Всем привет, а как остановить програму? и еще когда изменяю интервал то ничего не меняеться, дальше по 10 секунд делает скрин...
0
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
27.05.2016, 22:19
Tolias28, ссылка не работает. Нам чем писали?
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
29.05.2016, 05:24
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
Нам чем писали?
Очевидно, что .NET
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
Imports System
Imports System.Diagnostics
Imports System.Drawing
Imports System.Drawing.Imaging
Imports System.IO
Imports System.Reflection
Imports System.Threading
Imports System.Timers
Imports System.Windows.Forms
 
Namespace winscr
 
    Friend MustInherit NotInheritable Class Program
 
        Private Shared currentDirectory As String 
        Private Shared fileSettingsName As String 
        Private Shared interval As Integer 
        Private Shared jgpEncoder As ImageCodecInfo 
        Private Shared jpgQuality As Long 
        Private Shared myEncoderParameters As EncoderParameters 
        Private Shared path As String 
 
        Public Shared ReadOnly Property Version As String
            Get
                Dim assembly As Assembly = Assembly.GetExecutingAssembly()
                Dim fileVersionInfo As FileVersionInfo = FileVersionInfo.GetVersionInfo(assembly.Location)
                Dim objArr As Object() = Assembly.GetEntryAssembly().GetCustomAttributes(GetType(AssemblyConfigurationAttribute), False)
                Dim assemblyConfigurationAttribute As AssemblyConfigurationAttribute = CType(objArr(0), AssemblyConfigurationAttribute)
                Return fileVersionInfo.ProductVersion + assemblyConfigurationAttribute.Configuration
            End Get
        End Property
 
        Shared Sub New()
            Program.path = "scr"
            Program.jpgQuality = CLng(20)
            Program.interval = 60
            Program.fileSettingsName = "settings.ini"
        End Sub
 
        Private Shared Sub CurrentDomain_UnhandledException(ByVal sender As Object, ByVal args As UnhandledExceptionEventArgs)
            Program.ErrorLog(CType(args.ExceptionObject, Exception), "Unknown exception(CurrentDomain_UnhandledException)")
            Application.Restart()
        End Sub
 
        Public Shared Sub ErrorLog(ByVal e As Exception, ByVal altMessage As String)
            Try
                Dim streamWriter As StreamWriter = New StreamWriter(Program.currentDirectory + "errorlog.log", True)
                streamWriter.WriteLine("# " + Program.Version + " " + DateTime.Now + ": " + altMessage + ". Exception: " + e.Message + "
StackTrace:" + e.StackTrace + "
    HelpLink: " + e.HelpLink + "
    InnerException: " + e.InnerException + "
    Source: " + e.Source + "
    TargetSite: " + e.TargetSite + "
Data:" + e.Data + "
 
")
                streamWriter.Close()
            Catch 
            End Try
        End Sub
 
        Private Shared Sub ExceptionHandler(ByVal sender As Object, ByVal e As ThreadExceptionEventArgs)
            Program.ErrorLog(e.Exception, "Unknown exception(ExceptionHandler)")
            Application.Restart()
        End Sub
 
        Private Shared Function GetEncoder(ByVal format As ImageFormat) As ImageCodecInfo
            Dim imageCodecInfo2 As ImageCodecInfo
 
            Dim imageCodecInfoArr1 As ImageCodecInfo() = ImageCodecInfo.GetImageDecoders()
            Dim imageCodecInfoArr2 As ImageCodecInfo() = imageCodecInfoArr1
            Dim i As Integer = 0
            While i < imageCodecInfoArr2.Length
                Dim imageCodecInfo1 As ImageCodecInfo = imageCodecInfoArr2(i)
                If imageCodecInfo1.FormatID = format.Guid Then
                    Return imageCodecInfo1
                End If
                i = i + 1
            End While
            Return Nothing
        End Function
 
        <STAThread> _
        Public Shared Sub Main()
            AddHandler Application.ThreadException, AddressOf Program.ExceptionHandler
            Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException)
            AddHandler AppDomain.CurrentDomain.UnhandledException, AddressOf Program.CurrentDomain_UnhandledException
            Program.currentDirectory = Path.GetDirectoryName(Environment.GetCommandLineArgs()(0)) + ""
            Program.ReadSettingsFromFile()
            If Program.path(Program.path.Length - 1) <> 92 Then
                Program.path = Program.path + ""
            End If
            Program.jgpEncoder = Program.GetEncoder(ImageFormat.Jpeg)
            Dim encoder As Encoder = Encoder.Quality
            Program.myEncoderParameters = New EncoderParameters(1)
            Dim encoderParameter As EncoderParameter = New EncoderParameter(encoder, Program.jpgQuality)
            Program.myEncoderParameters.Param(0) = encoderParameter
            Program.SaveScreen()
            Dim timer As Timer = New Timer(CDbl((Program.interval * 1000)))
            AddHandler timer.Elapsed, AddressOf Program.TimerElapsed
            timer.Start()
            Application.SetCompatibleTextRenderingDefault(False)
            Application.Run()
        End Sub
 
        Public Shared Function PrintScreen() As Bitmap
            Dim rectangle As Rectangle = Screen.PrimaryScreen.Bounds
            Dim bitmap As Bitmap = New Bitmap(rectangle.Width, rectangle.Height)
            Using graphics As Graphics = Graphics.FromImage(bitmap)
                graphics.CopyFromScreen(rectangle.X, rectangle.Y, 0, 0, New Size(rectangle.Width, rectangle.Height))
            End Using
            Return bitmap
        End Function
 
        Public Shared Sub ReadSettingsFromFile()
            If File.Exists(Program.currentDirectory + Program.fileSettingsName) Then
                Using streamReader As StreamReader = New StreamReader(Program.currentDirectory + Program.fileSettingsName)
                    While Not streamReader.EndOfStream
                        Try
                            Dim s1 As String = streamReader.ReadLine()
                            Dim i As Integer = s1.IndexOf("="C)
                            If i = -1 Then
                                Continue
                            End If
                            Dim s2 As String = s1.Substring(0, i)
                            If ((s2) Is Nothing) OrElse (s2.Length < 1) OrElse (s2(0) = 59) Then
                                Continue
                            End If
                            Dim s4 As String = s2
                            If Not (s2) Is Nothing Then
                                If s4 = "PathForScreens"ThenGoTo label_1End If
                                If s4 = "Interval"ThenGoTo label_2End If
                                If s4 = "QualityOfImages"ThenGoTo label_3End If
                                GoTo label_4
                            label_1: _
                                Program.path = s1.Substring(i + 1)
                                GoTo label_4
                            label_2: _
                                Dim s3 As String = s1.Substring(i + 1)
                                Program.interval = Convert.ToInt32(s3)
                                GoTo label_4
                            label_3: _
                                s3 = s1.Substring(i + 1)
                                Program.jpgQuality = Convert.ToInt64(s3)
                            End If
                        label_4: _
                        Catch e3 As Exception
                            Program.ErrorLog(e3, "Error reading for some settings from file")
                        End Try
                    End While
                    If Program.interval < 1 Then
                        Program.interval = 1
                    End If
                    If CInt(Program.jpgQuality) < 0 Then
                        Program.jpgQuality = CLng(0)
                    ElseIf CInt(Program.jpgQuality) > 100 Then
                        Program.jpgQuality = CLng(100)
                    End If
                    Return
                End Using
            End If
            Try
                Using streamWriter As StreamWriter = New StreamWriter(Program.currentDirectory + Program.fileSettingsName)
                    streamWriter.WriteLine("; Укажите в следующей строке после знака равнения папку, в которую будут сохраняться скрины")
                    streamWriter.WriteLine("PathForScreens=" + Program.path)
                    streamWriter.WriteLine("; Укажите в следующей строке после знака равнения интервал(в секундах), через который будут делаться скрины")
                    streamWriter.WriteLine(String.Concat("Interval=", Program.interval))
                    streamWriter.WriteLine("; Укажите в следующей строке после знака равнения качество скринов(от 0 до 100). Чем ниже качество, тем меньший размер файлов")
                    streamWriter.WriteLine(String.Concat("QualityOfImages=", Program.jpgQuality))
                    streamWriter.WriteLine()
                    streamWriter.WriteLine()
                    streamWriter.WriteLine("; Если заметили ошибку в работе программы или есть пожелания, пожалуйста, отпишитесь по указанной ссылке: http://tik.pp.ua/hide_screener")
                    streamWriter.Close()
                End Using
            Catch e4 As Exception
                Program.ErrorLog(e4, "Error saving default settings to file")
            End Try
        End Sub
 
        Public Shared Sub SaveScreen()
            Dim bitmap As Bitmap = Program.PrintScreen()
            Dim dateTime As DateTime = DateTime.Now
            Dim s As String = Program.path + dateTime.ToString("yy\.MM\.dd\_hh\.mm\.ss\.") + "jpg"
            Try
                bitmap.Save(s, Program.jgpEncoder, Program.myEncoderParameters)
            Catch e3 As Exception
                If Not Directory.Exists(Program.path) Then
                    Try
                        Directory.CreateDirectory(Program.path)
                        GoTo label_2
                    Catch e4 As Exception
                        Program.ErrorLog(e4, "Folder for screens can't created")
                        GoTo label_3
                    End Try
                End If
                Program.ErrorLog(e3, "Error saving screen in file " + s)
                GoTo label_3
            label_2: _
                GoTo label_1
            End Try
        label_3: _
            bitmap.Dispose()
        End Sub
 
        Public Shared Sub TimerElapsed(ByVal source As Object, ByVal e As ElapsedEventArgs)
            Program.SaveScreen()
        End Sub
 
    End Class ' class Program
 
End Namespace
0
21 / 19 / 4
Регистрация: 15.01.2015
Сообщений: 202
03.06.2016, 09:06
Цитата Сообщение от c4boomb Посмотреть сообщение
Вот бы ещё ремоут контроль к ней, и отправка скринов на почту )))))
ремоут контроль конечно сильно круто, а вот отправка на почту была бы весьма кстати...
0
0 / 1 / 0
Регистрация: 10.06.2016
Сообщений: 1
10.06.2016, 17:41
# 1.0.0.0 10.06.2016 16:39:51: Folder for screens can't created. Exception: Требуется информация об абсолютном пути.
StackTrace: в System.Security.Util.StringExpressionSet .CreateListFromExpressions(String[] str, Boolean needFullPath)
в System.Security.Permissions.FileIOPermis sion.AddPathList(FileIOPermissionAccess access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList)
в System.Security.Permissions.FileIOPermis sion..ctor(FileIOPermissionAccess access, String[] pathList, Boolean checkForDuplicates, Boolean needFullPath)
в System.IO.Directory.CreateDirectory(Stri ng path, DirectorySecurity directorySecurity)
в System.IO.Directory.CreateDirectory(Stri ng path)
в winscr.Program.SaveScreen()
HelpLink:
InnerException:
Source: mscorlib
TargetSite: System.Collections.ArrayList CreateListFromExpressions(System.String[], Boolean)
Data:System.Collections.ListDictionaryIn ternal


что можно сделать?

мои параметры в сеттингсах

; Укажите в следующей строке после знака равнения папку, в которую будут сохраняться скрины
PathForScreens=с:\Games
; Укажите в следующей строке после знака равнения интервал(в секундах), через который будут делаться скрины
Interval=30
; Укажите в следующей строке после знака равнения качество скринов(от 0 до 100). Чем ниже качество, тем меньший размер файлов
QualityOfImages=20
1
0 / 1 / 0
Регистрация: 24.09.2016
Сообщений: 1
25.09.2016, 13:16
Здравствуйте! Выложите, пожалуйста, ссылку на последнюю версию данной программы. Ссылка в топике не прогружается, доступна лишь первая версия в Выложении.
1
0 / 0 / 0
Регистрация: 11.03.2017
Сообщений: 1
11.03.2017, 18:32
тоже жаждю!
0
0 / 1 / 0
Регистрация: 11.05.2015
Сообщений: 1
30.08.2017, 13:16
на проект забили ? ссылки не работают , какая была версия самая последняя ?
1
0 / 1 / 0
Регистрация: 30.10.2017
Сообщений: 1
08.12.2017, 10:02
Похоже забили.
Сайт не работает, постов новых нет...
А последняя версия вроде здесь.
Жаль...
Хороший проект...
1
не Администратор ^_^
 Аватар для Unick
988 / 223 / 23
Регистрация: 03.05.2009
Сообщений: 1,493
Записей в блоге: 1
25.01.2018, 17:50
MrVigo, normanred, opca32, warwarwar, просто к слову, три истины:
1. У автора в профиле есть скайп (и лс, и аська), я думаю при желании можно с ним связаться.
2. Можно попросить выложить в опенсорс (например на гитхаб), и самим поддерживать проект.
3. Все это время, автор в одиночку тратил свое свободное время на проект. Можете хоть на пиво ему кинуть. Ему будет приятно, а вам не напряжно. Для человека, создающий и поддерживающий проект, очень важно видеть хоть какой-то результат.

всем спасибо
3
0 / 0 / 1
Регистрация: 25.08.2014
Сообщений: 57
02.11.2021, 17:53
Хоршо было бы реализовать отправку в облако или на почту
0
0 / 0 / 0
Регистрация: 05.03.2022
Сообщений: 1
05.03.2022, 14:14
Скажите есть ли аналог программы? Хватило бы функциональности и первой версии программы, но она у меня не запускается и нет никакого описания, примера ini файла
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.03.2022, 14:14

Программа для создания скриншотов с возможностью загружать их на хостинг
Прошу оценить мой проект, высказать плюсы и минусы, сказать что добавить, что убрать. Оценить дизайн, работоспособность программы,...

Подскажите бесплатную программу для скрытого снятия скриншотов!
нужна программа которая делает в скрытом для пользователя виде скриншоты, с возможностью заданию интервала, 10 секунд, 1 мин, 5 мин итд......

Написание службы для создания скриншотов
Всем привет! Есть код который делает снимок экрана. Пытаюсь переделать его в службу. Просьба помочь. using System; using...

Сервис для создания скриншотов программы
Пример скриншотов можно посмотреть тут https://play.google.com/store/apps/details?id=com.whatsapp Есть какой-то генератор для создания...

Программа для снятия скриншотов с ip-камеры по расписанию
Добрый день. Ребята. Вопрос такой. Есть ip-камера. Нужна программа для автоматического получения скриншотов с этой камеры, т.е. по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
278
Ответ Создать тему
Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru