Какой IP C наиболее подходит между программами в C - PullRequest
0 голосов
/ 17 апреля 2020

Я строил 2 программы в C. Первая программа - это служба, которая автоматически отключает p c, если время превышает 22:00 с обратным отсчетом 1 минуты. И в то же время он открывает вторую программу и запрашивает имя пользователя и пароль через ShellExecution в winapi. Если вход во вторую программу успешен, то отключение полностью отменяется. Затем, когда вторая программа закрывается или завершается, процесс выключения повторяется снова, если время все еще превышает 22:00. Моя проблема в том, как мне разрешить или сделать так, чтобы такое взаимодействие происходило между двумя программами. Я думаю об использовании общей памяти или канала. Я не уверен, какой ip c подходит для такой ситуации. Обратите внимание, что если вторая программа уже открыта и вошла в систему, процесс выключения не произойдет. И это не должно иметь никаких проблем, даже если несколько экземпляров второй программы открыты и вошли в систему.

1 Ответ

1 голос
/ 18 апреля 2020

Я не знаю, нужен ли вам другой процесс. Я был бы соблазн сделать логин / пароль с другим потоком. Это дает вам общую память без особых усилий.

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

Если бы это не сработало, и вам пришлось выполнить другой процесс, я бы попробовал трубу в стиле UNIX, но в Windoes их нет, вы попадаете в именованные каналы. Трубы обычно лучше разделяемой памяти по соображениям безопасности и сложности. Хитрость заключается в том, чтобы убедиться, что только правильная программа находится на другом конце канала. Это может иметь или не иметь значения в зависимости от того, насколько умным вы ожидаете злоумышленника.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...