Как сделать незакрываемое окно windows
Перейти к содержимому

Как сделать незакрываемое окно windows

  • автор:

Как сделать не закрывающееся окошечко?

Приветствую. Я где-то увидел кусок кода С++ (или С — хз 🙂 ) и решил его откомпилировать и глянуть, что выйдет ^_^. Вот мой код :

#include int main(int argc, char * argv[])

Эм. Как бы вот :). После компиляции под Виндовс появляется .exe файлик. При нажатии на него открываеться консолька (на доли секунды) и закрывается. Как сделать так, чтобы она не закрывалась? 🙂 ps. ПрОфИ — Пожайлуста не материте — С++ ещё не копался а узнать интересно :).
pps. Дайте обещание что Майкрософт этот кусок кода не покажете — А то мало ли в свои программы внедрят :DDDDDD
ppps. Заранее Спасибо 🙂

Как сделать незакрываемое окно windows

Сообщения: 5
Благодарности: 0

Скажите пожалуйста как в Visual Basic 6.0
програмно сделать так, чтобы кнопки «Windows» (или
кнопки «Окно») не работала!
Просто я хочу сделать прогу, которая была б поверх
всех окон (в т.ч. поверх рабочего стола) и её нельзя
было бы убрать (закрыть, или свернуть!)

Сообщения: 644
Благодарности: 47

SSseregaSS
Если я правильно понял,то делается это тривиально.
Главное окно программы просто создаётся с определённым стилем(точнее сказать — без определённых стилей):

push 0 ;lpParam push hInst ;hInstance push NULL ;menu push NULL ;parent hwnd push 280 ;высота окна push 430 ;ширина окна push 300 ;координата y левого верхнего угла окна push 350 ;координата x левого верхнего угла push WS_CAPTION ;стиль окна push offset szTitleName ;Строка заголовка окна push offset szClassName ;имя класса окна push WS_EX_TOPMOST ;Расширенный стиль окна call CreateWindowExA

Это код на ассемблере,но суть будет везде одна и та же.С помощью функции CreateWindowExA создаётся главное окно,среди параметров которого присутствуют и стили этого окна.
Расширенный стиль WS_EX_TOPMOST заставляет окно быть поверх всего остального.
Стиль WS_CAPTION только создаёт заголовок окна.
Убить такое окно можно будет,только убив процесс этого окна с помощью Диспетчера задач.
Если хочешь нормальный вид окна(с кнопками),то в данном случае необходимо добавить стили WS_SYSMENU, WS_MINIMIZEBOX и т.д.

——-
То,что неясно,следует выяснить.То,что трудно творить,следует делать с великой настойчивостью. © Конфуций

Как сделать программу незакрываемой?

Пользователь сидит из-под обычного пользователя в Windows XP/7. Раз в 30 минут программа просит его ввести капчу, что бы проверить наличие пользователя за рабочим местом, результат отправляет на удаленный сервер.
Пользователь должен быть лишен возможности закрыть программу, удалить программу. удалить программу из автозагрузки. То есть она должна быть активна всегда. Как лучше это сделать?

У меня есть несколько предположений:

1)Сделать активными N экземпляров программы проверяющих очень часто наличие своих копий в системе. Если один из процессов закроют, сразу же запустится ещё один процесс. Скорее всего пользователь сможет обойти эту защиту если закроет в bat сразу все процессы, или просто запретит запуск процесса(если это возможно сделать из под user acc).

2)Как-то внедрятся в другие процессы, это уже больше походит на вирус. Возможны конфликты с антивирусом.

3)Написать Windows Services который будет поддерживать жизнь в моем exe

Подскажите пожалуйста в какую сторону копать?

  • Вопрос задан более трёх лет назад
  • 3648 просмотров

1 комментарий

Оценить 1 комментарий

Незакрывающееся окно С++

Как сделать программу, которую невозможно закрыть «крестиком» или alt + f4? Чтобы допустим её можно было закрыть только при помощи диспетчера задач?

Дополнен 2 года назад

Отвечу на свой же вопрос.
BYTE pState;
HWND hWnd = GetForegroundWindow();
EnableWindow(hWnd, false);
GetKeyboardState(&pState);
while (true)
Sleep(100);
SetKeyboardState(&pState);
>

Голосование за лучший ответ

Быстрый ответ
Раз уж «крестиком» программу закрыть не удаётся, можно попробовать нажать «Alt + F4». Эта комбинация клавиш закрывает активную программу. Или нажать на значок программы в левом верхнем углу и выбрать «Закрыть»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *