SpecialMonster

Пользователь

Регистрация: 23.09.2017

Сообщения: 679

Рейтинг: 123

SpecialMonster

Регистрация: 23.09.2017

Сообщения: 679

Рейтинг: 123

Как сделать, чтобы при открытии папки запускалась программа? Желательно, чтобы это выполнялось с помощью системных команд. Как я себе представляю, нужно написать программу, которая бы постоянно проверяла папку на открытие, и если значение true (папка открыта), то она бы запускала другую программу либо другую функцию внутри себя.


Я придумал очень примитивный способ реализации. Я просто замаскировал файл формата .bat с кодом внутри под папку.


Как же всё таки подобное реализовать? Приветствуются способы реализации на других операционных системах.

saw_tooth

Пользователь

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3287

saw_tooth

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3287

SpecialMonster сказал(а):

Я просто замаскировал файл формата .bat с кодом внутри под папку

Нажмите, чтобы раскрыть...

"гениально! оставайтесь у нас - будете гениальным механиком программистом планеты"(с)

напишу еще раз пока тему не потерли, я могу такое написать, но не бесплатно, и низачто не отвечаю (то как ты будешь это тестить/использовать)

SpecialMonster

Пользователь

Регистрация: 23.09.2017

Сообщения: 679

Рейтинг: 123

SpecialMonster

Регистрация: 23.09.2017

Сообщения: 679

Рейтинг: 123

saw_tooth сказал(а):

"гениально! оставайтесь у нас - будете гениальным механиком программистом планеты"(с)


Нажмите, чтобы раскрыть...

Есть идеи получше? Буду рад увидеть

GribBomjevik

Пользователь

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

GribBomjevik

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456


в чем проблема сделать сестемный деамон, который просто каждый 0,2 сек чекает какие файлы и папки открыты и взаивисимости от папки или фйла предпринимает какие-то действия - например на линухе через баш такое изи запилить (просто чекать папки и фйлы через лсоф)

SpecialMonster

Пользователь

Регистрация: 23.09.2017

Сообщения: 679

Рейтинг: 123

SpecialMonster

Регистрация: 23.09.2017

Сообщения: 679

Рейтинг: 123

GribBomjevik сказал(а):

в чем проблема сделать сестемный деамон, который просто каждый 0,2 сек чекает какие файлы и папки открыты и взаивисимости от папки или фйла предпринимает какие-то действия - например на линухе через баш такое изи запилить (просто чекать папки и фйлы через лсоф)

Нажмите, чтобы раскрыть...

Ну так а какие системные команды в Windows для этого есть?

GribBomjevik

Пользователь

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

GribBomjevik

Регистрация: 30.08.2019

Сообщения: 2810

Рейтинг: 456

SpecialMonster сказал(а):

Ну так а какие системные команды в Wndows для этого есть?

Нажмите, чтобы раскрыть...

ну ты сказал про решения на любую систему в первом посте

хз как на винде, но есть варик попробовать через линух оболочку на винде - они же вроде уже официально выпустили ее

saw_tooth

Пользователь

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3287

saw_tooth

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3287

SpecialMonster сказал(а):

Есть идеи получше? Буду рад увидеть

Нажмите, чтобы раскрыть...

Ну, идеи есть разные, тут бы больше конкретики по словам "папка открыта", ибо открыть ее можно 100500 разными способами)

SpecialMonster

Пользователь

Регистрация: 23.09.2017

Сообщения: 679

Рейтинг: 123

SpecialMonster

Регистрация: 23.09.2017

Сообщения: 679

Рейтинг: 123

saw_tooth сказал(а):

Ну, идеи есть разные, тут бы больше конкретики по словам "папка открыта", ибо открыть ее можно 100500 разными способами)

Нажмите, чтобы раскрыть...

Пользователь наводит курсор на папку и открывает её двумя нажатиями мыши. После этого сразу запускается нужная программа.

Berglol

Пользователь

Регистрация: 20.09.2013

Сообщения: 934

Рейтинг: 1737

Berglol

Регистрация: 20.09.2013

Сообщения: 934

Рейтинг: 1737

SpecialMonster сказал(а):

Ну так а какие системные команды в Windows для этого есть?

Нажмите, чтобы раскрыть...

Это называется WinAPI.

Нужно найти функцию, вызываемую при перемещении по директориям. Думаю, выйти на эту функцию можно будет через процесс explorer.exe. Скорей всего, это будет какая-то импортируемая функция из низкоуровневой либы. И, почти наверняка, во входных параметрах будет лежать адрес директории, что значительно упростит поиск

Установить на эту функу хук, в теле которого уже выполнить любой код, который тебе нужно. Но если возможно так просто залезть в ядро ОС юзера, то заморачиваться с выполнением действий именно при открытии определенной папки - глупо, можно сразу сделать всё необходимое и подчистить следы)

SpecialMonster

Пользователь

Регистрация: 23.09.2017

Сообщения: 679

Рейтинг: 123

SpecialMonster

Регистрация: 23.09.2017

Сообщения: 679

Рейтинг: 123

Berglol сказал(а):

Но если возможно так просто залезть в ядро ОС юзера, то заморачиваться с выполнением действий именно при открытии определенной папки - глупо, можно сразу сделать всё необходимое и подчистить следы)

Нажмите, чтобы раскрыть...

Всё необходимое это запуск бесконечного цикла с писком beep (^G) и надписью VAS VZLOMALI, поэтому и хочу, чтобы пользователь открыл определённую папку и немного испугался)


saw_tooth

Пользователь

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3287

saw_tooth

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3287

Berglol сказал(а):
Это называется WinAPI.
Нужно найти функцию, вызываемую при перемещении по директориям.
Нажмите, чтобы раскрыть...
Нет в winapi функции по перемещении по директориям. Да и не winapi этим занимается.
SpecialMonster сказал(а):
Пользователь наводит курсор на папку и открывает её двумя нажатиями мыши. После этого сразу запускается нужная программа.
Нажмите, чтобы раскрыть...
Ну то есть используется встроенный explorer.
отак?
K4CYqfT.gif
Спойлер: "ps"

на самом деле, работа данного приложения не тривиальна.

Во первых: это служба, во-вторых - это служба, с повышенными привилегиями,для работы с окнами. В третьих эта служба, знает свой контекст, и знает от кого запускать приложения (мультиюзерский комп, ремоут десктоп и т.п.)

попробовать можно тут:

https://www.dropbox.com/sh/eqckn6eny1weubj/AAAQo2imZBcjSfGCQirxdMySa?dl=0 

в текущем релизе ограничение на запуск в 1 раз за запуск службы.

Berglol

Пользователь

Регистрация: 20.09.2013

Сообщения: 934

Рейтинг: 1737

Berglol

Регистрация: 20.09.2013

Сообщения: 934

Рейтинг: 1737

saw_tooth сказал(а):
Нет в winapi функции по перемещении по директориям. Да и не winapi этим занимается.
Нажмите, чтобы раскрыть...

Berglol сказал(а):
выйти на эту функцию можно будет через процесс explorer.exe
Нажмите, чтобы раскрыть...


Berglol сказал(а):
это будет какая-то импортируемая функция из низкоуровневой либы
Нажмите, чтобы раскрыть...

Dr.Geologist

Пользователь

Регистрация: 21.12.2015

Сообщения: 1181

Рейтинг: 773

Dr.Geologist

Регистрация: 21.12.2015

Сообщения: 1181

Рейтинг: 773

img
saw_tooth сказал(а):

"гениально! оставайтесь у нас - будете гениальным механиком программистом планеты"(с)

напишу еще раз пока тему не потерли, я могу такое написать, но не бесплатно, и низачто не отвечаю (то как ты будешь это тестить/использовать)

Нажмите, чтобы раскрыть...

Ты вот рофлиш над пацаном, а я понмю вирусню которая перемещала файлы на флешке в скрытую директорию и и делал ярлыки на эти файлы, где в ярлыке был запуск вирусни и собственно открытие самого файла.

saw_tooth

Пользователь

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3287

saw_tooth

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3287

Dr.Geologist сказал(а):

Ты вот рофлиш над пацаном.

Нажмите, чтобы раскрыть...

Всмысле рофлю?

Я предложил решение, и сообщил, что не отвечаю за последствия своего творения и сферу где его могут применять. Если ему станет легче - я передам исходник, что бы он сам мог скомпилить его и использовать.

Dr.Geologist

Пользователь

Регистрация: 21.12.2015

Сообщения: 1181

Рейтинг: 773

Dr.Geologist

Регистрация: 21.12.2015

Сообщения: 1181

Рейтинг: 773

img
saw_tooth сказал(а):

Всмысле рофлю?

Я предложил решение, и сообщил, что не отвечаю за последствия своего творения и сферу где его могут применять. Если ему станет легче - я передам исходник, что бы он сам мог скомпилить его и использовать.

Нажмите, чтобы раскрыть...

Я скорее об этом


Цитата:

"гениально! оставайтесь у нас - будете гениальным механиком программистом планеты"(с)

Нажмите, чтобы раскрыть...

saw_tooth

Пользователь

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3287

saw_tooth

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3287

Dr.Geologist сказал(а):

Я скорее об этом

Нажмите, чтобы раскрыть...

ТС сам себе противоречит в одном сообщении, в своих требованиях - и в том что он наговнякал реализовал.

Плюс, батник это как бы не решение проблемы абсолютно.

Например:

- чел заходит в папку по прямому пути в эксплорере. Его батник не сработает.
- заходим в папку, идем вниз/дважды наверх и опять вниз - опять кейз не сработает.

- пользуемся любыми клавишами истории (назад/вперед/вверх) - опять работать не будет.


Любые манипуляции в прямым или относительным путем работать в этом контексте не будут. Потому что папка - это иной тип файла, нежели bat-ник и для них в ОС есть свои механизмы обработки.

SpecialMonster

Пользователь

Регистрация: 23.09.2017

Сообщения: 679

Рейтинг: 123

SpecialMonster

Регистрация: 23.09.2017

Сообщения: 679

Рейтинг: 123

saw_tooth сказал(а):
Нет в winapi функции по перемещении по директориям. Да и не winapi этим занимается.
Ну то есть используется встроенный explorer.
отак?
K4CYqfT.gif
Спойлер: "ps"

на самом деле, работа данного приложения не тривиальна.

Во первых: это служба, во-вторых - это служба, с повышенными привилегиями,для работы с окнами. В третьих эта служба, знает свой контекст, и знает от кого запускать приложения (мультиюзерский комп, ремоут десктоп и т.п.)

попробовать можно тут:

https://www.dropbox.com/sh/eqckn6eny1weubj/AAAQo2imZBcjSfGCQirxdMySa?dl=0 

в текущем релизе ограничение на запуск в 1 раз за запуск службы.

Нажмите, чтобы раскрыть...

Не винлокер? Как пользоваться программой и как она реализована?

saw_tooth

Пользователь

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3287

saw_tooth

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3287

SpecialMonster сказал(а):

Как пользоваться программой и как она реализована?

Нажмите, чтобы раскрыть...

ты хотя бы гифку смотрел?facepalm2.gif

SpecialMonster сказал(а):

Не винлокер?

Нажмите, чтобы раскрыть...

Поставь на виртуалку - узнаешь.

SpecialMonster

Пользователь

Регистрация: 23.09.2017

Сообщения: 679

Рейтинг: 123

SpecialMonster

Регистрация: 23.09.2017

Сообщения: 679

Рейтинг: 123

saw_tooth сказал(а):

ты хотя бы гифку смотрел?facepalm2.gif

Поставь на виртуалку - узнаешь.

Нажмите, чтобы раскрыть...

Ну по гифке я примерно понял как пользоваться программой. Ну допустим. Но как она реализована?

saw_tooth

Пользователь

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3287

saw_tooth

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3287

SpecialMonster сказал(а):

Но как она реализована?

Нажмите, чтобы раскрыть...

saw_tooth сказал(а):

Во первых: это служба, во-вторых - это служба, с повышенными привилегиями,для работы с окнами. В третьих эта служба, знает свой контекст, и знает от кого запускать приложения (мультиюзерский комп, ремоут десктоп и т.п.)

Нажмите, чтобы раскрыть...