|
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
|
|
HideScreener - программа для скрытого создания скриншотов компьютера12.06.2012, 04:50. Показов 136724. Ответов 277
Метки нет (Все метки)
Возможно велосипед, но я нужного в гугле для себя не нашел, потому написал свой скрытый скриншотер.
Особености:
Прошу протестировать, есть ли глюки. Для меня сейчас очень важно протестировать на отсутствие ошибок, выводимых на экран. Признателен буду за любой отловленный баг ![]() Прямая ссылка на скачивание.По ней всегда будет актуальная версия. P.S. Писал лично для себя и для контроля за тем, что происходит на моем компьютере во время моего отсутствия. Очень помогает решить многие проблемы, когда кто-то что-то "наклацал"
9
|
|
| 12.06.2012, 04:50 | |
|
Ответы с готовыми решениями:
277
Посоветуйте программу для скрытого создания скриншотов
Программа Joxi (для создания скриншотов) (Не запускается) |
|
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
|
||||
| 23.08.2012, 21:37 [ТС] | ||||
И при том делают это три раза подряд! Потому у меня и рвение писать программу своими руками. И только когда возникают трудности, тогда просить помощи. Я так всегда делаю. И не очень приветствую помощь там, где я сам могу это сделать и у меня на это время есть. Или я вас неправильно понимаю или вы меня))Добавлено через 14 минут На счет чужой непрошенной помощи - да, есть у меня слабое место.. Почему то не люблю я, когда мне пытаются помочь в том, чего я не просил... Наверное надо мне меняться
0
|
||||
|
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
|
|||||||
| 23.08.2012, 22:22 | |||||||
Это чёт я не подумав полез! Ладно рефакторь сам! Только дам несколько советов.1) Не пытайся рефакторить текущий код. Лучше создай новый проект и делай всё по новой. НЕ КОПИПАСТОМ!!! Не стоит копировать то что у тебя там есть. Когда делаешь впервые, ты оставляешь много мусора. А вот когда переписываешь, ты делаешь это грамотнее и без мусора. 2) Перед тем как начать переписывать сядь и продумай всю структуру программы( большинство для этой цели рисуют блок-схемы! У меня получается продумать и без них). Продумывай структуру так чтоб в ней не было путаницы. Сейчас у тебя там чёрт ногу сломит!!!! БЕЗ ОБИД Я могу тебе предложить вариант структуры:Вариант
У тебя есть класс Program. В нём статический метод Main. В Main создай экземпляк класса Program и передай в конструктор параметры args. (Работай с классами. Не надо всё делать статическими методами.) Сделай классы: ( SettingsService - получает и управляет параметрами программы. Имеет все необходимые методы. ScreenShotService - делает снимки и сохраняет в файлы. LogsService - Ведёт логи работы программы и сохраняет в файл(ы).
Program при инициализации создаёт экземпляры всех этих классов и держит ссылки на них в своих свойствах. Конструкторы всех сервисов имеют параметр parent пример: SettingsService(Program parent){} а Program при инициализации передаёт в них ссылку на себя. Это даст возможность из сервисов обращаться к другим сервисам через Program без путаницы. 3) Не стоит так налегать на try{}catch. У тебя в некоторых местах они аш по четыре один в другом. Я так понял этим образом ты определяешь в каком именно блоке происходит ошибка. Это не очень хороший вариант. Эти блоки жрут очень много ресурсов. Нужно использовать только один блок и обернуть в него только критические участки кода. И делать так:
1
|
|||||||
|
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
|
||
| 23.08.2012, 22:33 [ТС] | ||
|
LeniumSoft, спасибо огромное за советы!
Добавлено через 4 минуты To LeniumSoft
), но наверное мне нужно пересмотреть свои взгляды на счет этого))
0
|
||
|
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
|
||
| 23.08.2012, 23:01 | ||
Я даже сейчас так делаю! Я делал программу ( не смейся) для построения схем вязания. И делал программу которая создаёт виртуальную локальную сеть ( наподобии pLan ). Это проекты которые я делал дома! Для меня кодинг это хобби. Я удалил все их исходники и сейчас переписываю редактор а потом начну переписывать прогу для сетей. Тогда я только изучал программирование на WPF а сейчас благодаря опыту редактор получается очень мощным. ![]() Прошлая версия редактора в бета версии была открыта(Silverlight) в 200 браузерах за сутки а её сайт держался на первой странице поисковиков пол года при запросе "Редактор схем" только за счёт того что пользователи раскопировали ссылку на сайт везде где это возможно. Новая версия их удивит ещё больше.
1
|
||
|
42 / 17 / 0
Регистрация: 19.08.2012
Сообщений: 41
|
|
| 27.08.2012, 10:31 | |
|
to Tolias28
обнаружил, что программа не всегда обнаруживает себя в памяти при перезагрузках :-( благодаря тому, что ты реализовал все о чем мы просили, мне теперь достаточно задать все параметры в ini файле и запускать программу из сетевой папки. НО, вот сегодня понадобилось поменять один параметр в настройках и после перезапуска программы на удаленном ПК (Win7) там оказались запущенными 2 экземпляра :-( Спасибо, еще раз за программу!
1
|
|
|
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
|
||
| 27.08.2012, 10:59 | ||
![]() Судя по коду Tolias-а в лог файле должна быть куча инфы по этому поводу. Закиньте сюда этот файл и мы вместе посмотрим чтоже произошло!
1
|
||
|
42 / 17 / 0
Регистрация: 19.08.2012
Сообщений: 41
|
||||||
| 27.08.2012, 11:15 | ||||||
|
Этот баг для меня некритичен, так что я просто хотел чтобы Tolias28 знал о ее наличии.
запускаю из коммандного файла след содержания (BASH, т.к. нет CMD в редакторе :-) ):
Вот все что было в логе... # 1.0.4.23a 27.08.2012 10:24:30: An error occurred while trying get full name of file of process. . Exception: Отказано в доступе StackTrace: в System.Diagnostics.ProcessManager.OpenPr ocess(Int32 processId, Int32 access, Boolean throwIfExited) в System.Diagnostics.NtProcessManager.GetM oduleInfos(Int32 processId, Boolean firstModuleOnly) в System.Diagnostics.NtProcessManager.GetF irstModuleInfo(Int32 processId) в System.Diagnostics.Process.get_MainModul e() в winscr.Program.KillProcess() HelpLink: InnerException: Source: System TargetSite: Microsoft.Win32.SafeHandles.SafeProcessH andle OpenProcess(Int32, Int32, Boolean) Data:System.Collections.ListDictionaryIn ternal
1
|
||||||
|
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
|
|
| 27.08.2012, 11:22 | |
|
Ну я так и предпологал! Удалённая машина не дала доступ к сведениям о процессах.
1
|
|
|
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
|
||||
| 01.09.2012, 21:49 [ТС] | ||||
Извините, что спустя столько времени спрашиваю. Руки не доходили...На счет двух экземпляров - спасибо за инфу. Честно говоря я догадывался, что подобные проблемы будут возникать... Дело в том, что сейчас программа следит за тем, чтобы не было запущено двух экземпляров, немного зверским не хорошим методом. Сейчас при запуске она просто нагло убивает все запущенные экземпляры скриннера, что были уже запущены до этого. А такое поведение не нравится некоторым антивирям (например 2009-ый касперский в режиме опытного пользователя ругается при этом на программу, что она пытается работать в режиме отладчика, потому что пытается прекратить чужой процесс). Кроме антивирей такое поведение не всегда нравится Windows 7, потому винда и блокирует ей доступ: А у вас такое появляется при каких именно условиях? Можно более детальней? У меня вот в Win7 скриннер себя нормально завершает, двух экземпляров пока еще замечено не было..
0
|
||||
|
42 / 17 / 0
Регистрация: 19.08.2012
Сообщений: 41
|
||
| 01.09.2012, 23:24 | ||
|
Ситуация с двумя экземплярами возникла при удаленном запуске программы через cmd-файл по сети.
Запускающая ОС (Win2008R2), а процесс запускался на Windows7 Pro. LeniumSoft думает что:
хотя я тут подумал - оба процесса запускались на одной и той же системе, но разными способами: 1й процесс запущен самим пользователем (автозагрузка), а 2й процесс я запустил после смены пути к скриншотам через LiteManagerFree (LiteManager.ru). (Это не реклама!!!) и после этого обнаружил два прекрасно ужившихся процесса в списке диспетчера задач (TaskList /S Имя_уд_ПК). Когда сделаешь возможным запуск ввиде сервиса эта проблема станет вообще неактуальной, т.к. там будет достаточно команды для сервиса на перезапуск (типа: sc HideScreener restart :-) ), так что при правильно расставленных приоритетах некоторые проблемы сами отпадут. Желаю Удачи!
1
|
||
|
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
|
|
| 01.09.2012, 23:28 [ТС] | |
|
ок.. спасибо за инфу)
0
|
|
|
0 / 0 / 0
Регистрация: 19.09.2012
Сообщений: 3
|
|
| 19.09.2012, 14:05 | |
|
Вопрос - хочу последить с помощью этой программы за компьютером сотрудника. Вопросов 2:
1. Как программу в автозагрузку внести, чтобы была незаметна для пользователя? 2. Можно ли сохранять скриншоты в сетевую папку? Что будет происходить при отключении сети?
0
|
|
|
42 / 17 / 0
Регистрация: 19.08.2012
Сообщений: 41
|
||
| 19.09.2012, 19:55 | ||
|
2) Сохранять по сети просто - главное пользователи, которых снимаешь, должны иметь доступ на запись туда. Что будет происходить при отключении сети? - скорее всего ругнется. Проверь сам на тестовом стенде и отпишись тут. Но думаю, автору можно взять этот вопрос на заметку - чтобы перехватывать ошибки программы о недоступности хранилища файлов.
0
|
||
|
0 / 0 / 0
Регистрация: 19.09.2012
Сообщений: 3
|
||
| 19.09.2012, 20:01 | ||
|
И ещё - учетная запись, из под которой буду запускать программу не обладает правами администратора - это никак не повлияет на работоспособность программы?
0
|
||
|
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
|
||||
| 19.09.2012, 20:09 [ТС] | ||||
|
Вот новая версия с возможностью добавления программы в автозагрузку: Скачать Внимание: по умолчанию автозагрузка отключена! Чтобы включить ее, поменяйте в файле настроек параметр "Startup=None" на "Startup=Yes" либо запустите программу с ключом /startup=y. Если нужно удалить программу с автозагрузки, тогда нужно выставить в настройках "Startup=No" либо запустить программу с ключом /startup=n.
1
|
||||
|
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
|
||
| 19.09.2012, 20:15 [ТС] | ||
|
1
|
||
|
42 / 17 / 0
Регистрация: 19.08.2012
Сообщений: 41
|
||
| 19.09.2012, 20:18 | ||
|
Tolias28 зря время не теряет :-) появляются все новые возможности ...
Может у вас есть более рациональные идеи, моя так навскидку...
1
|
||
|
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
|
|
| 19.09.2012, 20:20 [ТС] | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 19.09.2012
Сообщений: 3
|
|
| 19.09.2012, 20:48 | |
|
А ещё небольшой вопрос - программа будет сохранять скриншоты в скрытую папку? Тут никаких проблем возникнуть не должно?
0
|
|
|
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
|
||
| 19.09.2012, 20:54 [ТС] | ||
Скрытая папка просто не отображается в проводнике Windows, а физически она доступна ж на диске для любой программы.А вообще вы и сами могли бы получить ответ на этот вопрос поэкспериментировав с программой у себя на компьютере
1
|
||
| 19.09.2012, 20:54 | |
|
Программа для создания скриншотов с возможностью загружать их на хостинг Подскажите бесплатную программу для скрытого снятия скриншотов! Написание службы для создания скриншотов
Программа для снятия скриншотов с ip-камеры по расписанию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов
Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|