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

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

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

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

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

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

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

Прямая ссылка на скачивание.По ней всегда будет актуальная версия.
P.S. Писал лично для себя и для контроля за тем, что происходит на моем компьютере во время моего отсутствия. Очень помогает решить многие проблемы, когда кто-то что-то "наклацал"
Вложения
Тип файла: zip HideScreener_1.0.0.0.zip (6.8 Кб, 1993 просмотров)
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
25.09.2012, 19:33  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от LeniumSoft Посмотреть сообщение
Нужно использовать только один блок и обернуть в него только критические участки кода. И делать так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
try
{
 
}
catch(Exception ex)
{
      this.Parent.LogsService.WriteError(ex.ToString());
}
finally
{
//Освобождение ресурсов.
}
При этом подходе нет необходимости записывать что и где произошло. Это за тебя сделается автоматом. В файле в Message - увидишь что произошло, а в StackTrace - где произошло.
Хорошо. Вот смотрите, допустим есть у нас такой код, в котором могут возникать одинаковые исключения на разных строках:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Random rand = new Random();
try
{
   if (rand.Next(0, 10) < 5)
   {
      throw new Exception(); //исключение №1
   }
   if (rand.Next(0, 10) < 5)
   {
       throw new Exception(); //исключение №2
   }
}
catch (Exception e)
{
    this.Parent.LogsService.WriteError(ex.ToString());
}
И теперь, как по сообщению в логе вы поймете какое именно произошло исключение? Первое или второе?

Добавлено через 1 минуту
Цитата Сообщение от LeniumSoft Посмотреть сообщение
а в StackTrace - где произошло
StackTrace показывает только название метода, где произошло, а в какой именно строке произошло - не показывает...

Добавлено через 9 минут
Цитата Сообщение от LeniumSoft Посмотреть сообщение
Эти блоки жрут очень много ресурсов
Цитата Сообщение от LeniumSoft Посмотреть сообщение
А программа будет кушать намного меньше памяти
Можно, пожалуйста, ссылочку на источник. Очень хочу более подробно об этом вычитать, как именно блоки try{}catch{} влияют на память, потребляемую приложением. Спасибо!
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
25.09.2012, 20:53
Цитата Сообщение от Tolias28 Посмотреть сообщение
Хорошо. Вот смотрите, допустим есть у нас такой код, в котором могут возникать одинаковые исключения на разных строках:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Random rand = new Random();
try
{
   if (rand.Next(0, 10) < 5)
   {
      throw new Exception("Ошибка в первом переборе"); //исключение №1
   }
   if (rand.Next(0, 10) < 5)
   {
       throw new Exception("Ошибка во втором переборе"); //исключение №2
   }
}
catch (Exception e)
{
    this.Parent.LogsService.WriteError(ex.ToString());
}
Как видишь вызванные исключения вполне можно отличить друг от друга!
Ну а если уш на то пошло, то мне вполне хватает и названия метода чтоб найти ошибку.

Цитата Сообщение от Tolias28 Посмотреть сообщение
Можно, пожалуйста, ссылочку на источник. Очень хочу более подробно об этом вычитать, как именно блоки try{}catch{} влияют на память, потребляемую приложением. Спасибо!
Я вообще то про твой код! Ты вставляя эти блоки друг в друга не можешь правильно управлять освобождением ресурсов.
Тебе надо правильно использовать эти блоки! Потому что в твоём коде выполнение может пойти не так как заложено. Например у тебя создастся картинка далее выполнение войдёт в блок где произойдёт ошибка и картинка останется пустой а внешний блок один фиг её запишет в файл(вот отсюда и думай откуда у людей пустые чёрные скрины).
1
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
25.09.2012, 21:38  [ТС]
Цитата Сообщение от LeniumSoft Посмотреть сообщение
Как видишь вызванные исключения вполне можно отличить друг от друга!
Как? Они одинаковый тип имеют. Будет одинаковое e.Message и одинаковый e.Stacktrace...

Цитата Сообщение от LeniumSoft Посмотреть сообщение
Ну а если уш на то пошло, то мне вполне хватает и названия метода чтоб найти ошибку.
Ну это понятно. Но я оборачивал в несколько блоков код не из-за того, чтобы мне знать, где вылетело исключение (я если оборачиваю некоторый код в try, то делаю это по той причине, что знаю, что в таких-то строках может вылететь определенного типа исключение...) Я делал это для того, чтобы в лог записалось правильное сообщение об ошибке. Приведу пример: Пользователь ввел в файле настроек такой параметр:
Code
1
LogOnlyErrors=Ok
Когда программа попытается прочитать это значение в переменную bool, то вылетит исключение, так как функция Convert.ToBoolean() не сможет сконвертировать строку "Ok" в значение типа bool. Мне нужно отловить это исключение и узнать, на каком именно параметре это произошло, чтобы в логе вывести пользователю имя параметра, который он неправильно ввел. Этот пример наверное не совсем корректен, так как в даном случае можно понять о каким именно параметре идет речь даже просто выводя e.Message (так как там будет "Ok" присутствовать), но я просто пример навел...


Цитата Сообщение от LeniumSoft Посмотреть сообщение
Я вообще то про твой код! Ты вставляя эти блоки друг в друга не можешь правильно управлять освобождением ресурсов.
Тебе надо правильно использовать эти блоки! Потому что в твоём коде выполнение может пойти не так как заложено. Например у тебя создастся картинка далее выполнение войдёт в блок где произойдёт ошибка и картинка останется пустой а внешний блок один фиг её запишет в файл
Спасибо за замечания. Я внял им еще тогда месяц назад и пооборачивал все ресурсы Bitmmap так, что ресурсы освободятся в любом случае, даже если произойдет непредвиденное иссключение
Цитата Сообщение от LeniumSoft Посмотреть сообщение
вот отсюда и думай откуда у людей пустые чёрные скрины
Не надо на меня бочку котить Черные скрины появляются не из-за неосвобожденных ресурсов, а из-за того, что юзер переключился на другого пользователя, отлично от того, под которым запущена программа. Например, если залочить комп, то можно увидеть черные скрины - это потому, что учетная запись блокируется и винда не дает программе сделать скрин заблокированного юзера. Я тут ничего не могу поделать. Разве что в таком случае вообще скрины не делать, когда он полностью черный... Но и вданном случае ресурсы в моей программе освобождаются корректно

Я не запретил создание черных скринов(когда винда блокирует создание скринаа) по двум причинам:
1. Лично мне это не мешает. Мне наоборот потом удобнее в папке просматриватьь скрины, так как сразу визуально видно, когда комп был залочен
2. Не поступало жалоб и предложений, чтобы убрать создание заблокированных черных скринов

Добавлено через 11 минут
Цитата Сообщение от Tolias28 Посмотреть сообщение
Будет одинаковое e.Message
аа, извиняюсь! Я не обратил внимание, что вы код изменили вызвав перегруженный конструктор. Вы меня не поняли! Это я просто пример навел с пользовательским исключением. А что делать, когда эти исключения генерирую не я, а допустим они генерируются в методе Convert.ToBoolean() ? И этот метод вызывается в нескольких местах в одном блоке try{} Тогда уж никак не поймешь, какое именно исключение. Я об этом говорил.
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
26.09.2012, 11:14
Цитата Сообщение от Tolias28 Посмотреть сообщение
Когда программа попытается прочитать это значение в переменную bool, то вылетит исключение, так как функция Convert.ToBoolean() не сможет сконвертировать строку "Ok" в значение типа bool. Мне нужно отловить это исключение и узнать, на каком именно параметре это произошло, чтобы в логе вывести пользователю имя параметра, который он неправильно ввел. Этот пример наверное не совсем корректен, так как в даном случае можно понять о каким именно параметре идет речь даже просто выводя e.Message (так как там будет "Ok" присутствовать), но я просто пример навел...
Данный пример можно обработать и без try

C#
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
static void Main(string[] args)
        {
            string stroke = "ok";
            string stroke2 = "1";
            string stroke3 = "true";
 
 
            bool bool1;
            bool bool2;
            bool bool3;
 
            if (bool.TryParse(stroke, out bool1))
                Console.WriteLine(String.Format("Первая строка спарсена! Значение: {0}", bool1));
            else
                Console.WriteLine(String.Format("Первая строка не спарсена!"));
 
            if (bool.TryParse(stroke2, out bool2))
                Console.WriteLine(String.Format("Вторая строка спарсена! Значение: {0}", bool2));
            else
                Console.WriteLine(String.Format("Вторая строка не спарсена!"));
 
            if (bool.TryParse(stroke3, out bool3))
                Console.WriteLine(String.Format("Третья строка спарсена! Значение: {0}", bool3));
            else
                Console.WriteLine(String.Format("Третья строка не спарсена!"));
 
            Console.ReadLine();
        }
Как можешь заметить есть кучи специальных методов, которые позволяют обработать возможные ошибочные места!
1
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
26.09.2012, 11:20  [ТС]
Цитата Сообщение от LeniumSoft Посмотреть сообщение
Данный пример можно обработать и без try
вау, круто! Не знал, спасибо!
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
26.09.2012, 11:22
Ты ещё примеры кидай! Ато мне уже интересно на них отвечать!
0
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
26.09.2012, 23:39  [ТС]

Не по теме:

LeniumSoft, продолжение нашей дискусии



Добавлено через 4 минуты
К модераторам
Если можно, вынесите с этой темы сообщения начиная с №207 по текущее в эту тему.
0
Почетный модератор
 Аватар для Памирыч
23251 / 9165 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
27.09.2012, 07:15
Tolias28, Старайтесь больше не запускать темы настолько, что потом концов не найдешь.
Посты перенес. В эту тему больше просьба не писать, иначе одну из них придется удалить.
0
1 / 1 / 0
Регистрация: 15.10.2013
Сообщений: 9
15.10.2013, 23:07
Всем здравствуйте, особенно автору.
Хотел дать еще один повод для размышлений.
Если мы говорим про скрытое наблюдение, то это легко развеивается поиском. Обычным поиском. Более того, данное действие не требует каких-то сверхнавыков работы с компьютером. Найти изображения на дату (7-ка). Случайный поиск незапланированный может рассекретить все эти наблюдения.
Из идей, как избежать, в силу дилетанских навыков администрирования и работы с файловыми системами, привиделось создание файлов прошедшими датами. Но, подозреваю, что такое невозможно. Хотя, вам видней. Либо использовать папки, которые не участвуют в поиске. Вероятно, это уже предусмотрено. Если так, то буду очень признателен за наводку.
0
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
15.10.2013, 23:20  [ТС]
Цитата Сообщение от ItsMyName Посмотреть сообщение
Либо использовать папки, которые не участвуют в поиске. Вероятно, это уже предусмотрено
Да. Путь к папке со скриншотами может быть любой. Имя скриншота может быть любое, в том числе расширение у файла скриншота может быть любое. То есть, программа может создавать скриншоты вообще с таким именем к примеру:
C:\blabla\inst13.10.15.22.17.13.msi
Программа это позволяет.
Но достаточно просто задать в программе свое другое имя скриншота (а не то, что предоставляется стандартно), чтобы поиском в гугле его не было найти.

Цитата Сообщение от ItsMyName Посмотреть сообщение
Если мы говорим про скрытое наблюдение, то это легко развеивается поиском. Обычным поиском. Более того, данное действие не требует каких-то сверхнавыков работы с компьютером. Найти изображения на дату (7-ка). Случайный поиск незапланированный может рассекретить все эти наблюдения.
Ану приведите для примера, как именно пользователь сможет рассекретить программу. На конкретный пример я попробую ответить, как этого избежать.
0
1 / 1 / 0
Регистрация: 15.10.2013
Сообщений: 9
15.10.2013, 23:24
попробовал скрыть папку, куда создаются изображения. Поиск их ищет. Сейчас почитаю мануал, как задать маску имени файла
0
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
15.10.2013, 23:27  [ТС]
кстати, программу ж можно тоже поместить в папку с любым именем, и название программы изменить по своему усмотрению.

Добавлено через 2 минуты
Цитата Сообщение от ItsMyName Посмотреть сообщение
Сейчас почитаю мануал, как задать маску имени файла
Точно также, как задаются переменные CMD. Дополнение лишь в том, что в программе также присутствуют свои встроенные переменные
Цитата Сообщение от ItsMyName Посмотреть сообщение
попробовал скрыть папку, куда создаются изображения. Поиск их ищет
Создавайте скрины с ложным расширением, которое не соответствует расширению изображения (например, я выше привел пример - msi). Тогда пользователь даже если и увидит эти файлы, то не поймет, что они значат и для чего они.
0
1 / 1 / 0
Регистрация: 15.10.2013
Сообщений: 9
15.10.2013, 23:28
Не нашел в мануале, как задать маску имени файла. Грубо говоря, "зашел в поиск, стал искать документ, с которым работал, или что-то еще, увидел кучу файлов, которые были созданы. Не понял, задумался" - вот примерный сценарий действий пользователя. Единственное, да, куда-то в сетевую папку их сохранять, во избежание случайных обнаружений. Может еще какие-нибудь варианты возможны?
0
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
15.10.2013, 23:34  [ТС]
Цитата Сообщение от ItsMyName Посмотреть сообщение
Не нашел в мануале, как задать маску имени файла
хмм.. http://hidescreener.com/suppor... enfilename
Цитата Сообщение от ItsMyName Посмотреть сообщение
Грубо говоря, "зашел в поиск, стал искать документ, с которым работал, или что-то еще, увидел кучу файлов, которые были созданы. Не понял, задумался" - вот примерный сценарий действий пользователя
Если честно, я и сам не знаю, как в этом случае лучше поступить... В голову приходит только одно - делать все скрины в один файл - что-то типа архива. Но тогда опять же - со временем файл будет разрастаться, и пользователь задумается, что это за файл такой большой.

Если у вас есть идеи по этому поводу, буду рад выслушать и даже их реализовать.
0
123 / 121 / 6
Регистрация: 21.12.2011
Сообщений: 348
15.10.2013, 23:37
Tolias28, я бы делал так:
1. создавал файлы без расширения.
2. имя файла - зашифрованная дата и время создания скриншота.

в итоге файлы называются как набор символов. вот тут уже надо будет пошушрать мозгами что-бы поперебирать расширения к файлу. в идеале - добавлять пару рандомных байт в начало файла. (тогда совсем кабзда, придется еще и свой просмотрщик писать, ибо такие файлы для любого пикча вьювера станет грудой байт).
1
1 / 1 / 0
Регистрация: 15.10.2013
Сообщений: 9
15.10.2013, 23:38
Вот, например скрин.
1. Папка скрыта.
2. Пусть даже файлы имеют расширение, отличное от картинных.
3. Пусть задержка 20 секунд.

В результате, за 3 часа работы 540 файлов. И при их обнаружении могут возникнуть вопросы.
А если они уже в экране найденных продолжают создаваться, то тут уже:
"Помогите!!!! У меня комп взбесился!!! Антивирус, фас"

Ну, в общем, одна из идей по усовершенствованию скрытости. Да, можно обнаружить ооооочень случайно, но вполне реально.
Миниатюры
HideScreener - программа для скрытого создания скриншотов компьютера  
0
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
15.10.2013, 23:44  [ТС]
Цитата Сообщение от Savvy Посмотреть сообщение
1. создавал файлы без расширения.
Такая возможность в программе уже есть.
Цитата Сообщение от Savvy Посмотреть сообщение
в идеале - добавлять пару рандомный байт в начало файла. (тогда совсем кабзда, придется еще и свой просмотрщик писать, ибо такие файлы для любого пикча вьювера станет грудой байт)
Спасибо за классную идею! Обязательно такое сделаю (чтобы скрины читались только встроенным просмотрщиком).

Добавлено через 2 минуты
Цитата Сообщение от ItsMyName Посмотреть сообщение
Ну, в общем, одна из идей по усовершенствованию скрытости
Так какая именно идея против большой груды файлов? Вы вроде ее так и не назвали Потому что, как я выше уже написал, я и сам не знаю, как в этом случае поступить...
0
1 / 1 / 0
Регистрация: 15.10.2013
Сообщений: 9
15.10.2013, 23:51
Один файл с архивом - мысль очень хорошая. Давайте посчитаем.
540 файлов по 50 кб (3 часа работы) = 27 мегабайт. Хм, да, многовато. Но такой архив, например, случайно найти уже более сложно, наверное. Например, человека напрягает малый объем свободного диска. Что он делает - ищет гигантские файлы, чтобы удалить их в первую очередь. Если файл имеет служебное название, да еще и находится в скрытой системной папке, вероятность подозрений в его отношении очень низкая. Страшно удалять, а, вдруг, он нужный. Как-то так. Конечно, если архив будет гигантским, то это очень плохо. Но, имея возможность сохранять все в архив и, учитывая все соображения в отношении привычек пользователя (либо расписания его работы), можно подобрать оптимальные значения параметров, чтобы снизить вероятность подозрений.

Добавлено через 6 минут
Вот еще к вопросу об изменении даты и времени создания файлов
http://itpride.net/useful/chan... macos.html
Архив, сохраненный с непонятным расширением, формат которого автоматом не может быть определен, дата создания <> сегодня (ну то есть немного ранее). Уже почти идеал. Т.е. поиск его нашел, возможно, но, системная скрытая папка (при при попытке удаления страшное предупреждение о возможной нестабильности работы системы). Ну и размер, не такой уж гигантский, чтобы его удалять. А дальше, периодическая чистка папки. Мы же знаем, в какую папку все пишется, поэтому нам по факту совсем не важно знать, когда именно он создан по данным системы. Главное сохранить саму хронологию дат.
0
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
15.10.2013, 23:57  [ТС]
думаю, сделаю в будущем, чтобы файлы создавались с датой изменения какой-то установленной (то есть, все скриншоты будут иметь одинаковую дату трехгодичной давности, например), и имя файла будет нечитаемое. А сама дата создания скриншота с его фактическим именем будет храниться где-то рядом с программой. Таким образом, файл не читаемый никакой программой, дата создания и изменения файла старая, имя файла непонятное.
А в самой программе по прежнему можно будет нормально просматривать скрины.

Но сейчас у меня есть более важные задачи. Над программой я постоянно сидеть не могу, но по мере свободного времени я над ней понемногу работаю.
0
1 / 1 / 0
Регистрация: 15.10.2013
Сообщений: 9
16.10.2013, 00:15
Главное, чтобы дата создания файла не оказалась меньше минимально доступной (что там принимается за такую дату? - дата установки системы или какая другая)
А можно, вообще, указать временной лаг назад в качестве параметра - время в месяцах или днях, на сколько раньше текущей нужно создавать файлы. Получится, что файлы будут разбросаны по временной оси.

Добавлено через 12 минут
Один вопросик еще. Подтупливаю ближе к ночи.
Поставил в ини параметр вида:
ScreenFileName=D:\src\%screendate%\%scre entime%.msi
Файлы по прежнему сохраняются в жпг.
Выприямите руки?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.10.2013, 00:15

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
220
Ответ Создать тему
Новые блоги и статьи
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни 1. Механизм отложенного высвобождения фосфора Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ Реализована разная скорость. . .
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2. Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её. Всё это стресс конечно. Почему?. . .
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru