Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Блокировка кнопки закрытия (он же крестик) окна приложения / 16 сообщений из 16, страница 1 из 1
15.05.2014, 22:01
    #38642816
JS Mars
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка кнопки закрытия (он же крестик) окна приложения
Добрый вечер!
Задача - блокировать возможность использования кнопок в правом верхнем углу окна у стороннего приложения (условно блокнота). Если у Вас есть идеи или коды функций или сама программа - прошу помочь!

У меня совсем небольшой опыт программирования на C#
Буду рад любой помощи!
...
Рейтинг: 0 / 0
15.05.2014, 22:09
    #38642821
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка кнопки закрытия (он же крестик) окна приложения
С лучше подойдёт

ЗЫ какой мудаг ставит подобные задачи?
...
Рейтинг: 0 / 0
15.05.2014, 22:18
    #38642826
JS Mars
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка кнопки закрытия (он же крестик) окна приложения
Спасибо за ответ!
Производственная необходимость) клиент по RDP заходит на сервер. Происходит автозапуск программы. Необходимо запретить закрывать окно программы. На мой взгляд, это как раз можно реализовать, написав программу, которая не давала бы пользователю это сделать.
...
Рейтинг: 0 / 0
15.05.2014, 22:37
    #38642842
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка кнопки закрытия (он же крестик) окна приложения
JS Mars,

если серьёзно - внедрить в процесс dll, повесить хук на закрытие. (кроме крестика - Alt-F4 нужно задизейблить )
...
Рейтинг: 0 / 0
15.05.2014, 22:40
    #38642847
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка кнопки закрытия (он же крестик) окна приложения
Может просто настроить удаленное приложение? Пользователь вышел из программы - автоматически завершился сеанс RDP
...
Рейтинг: 0 / 0
15.05.2014, 22:42
    #38642848
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка кнопки закрытия (он же крестик) окна приложения
Shocker.Pro,

проще авторестарт организовать
...
Рейтинг: 0 / 0
15.05.2014, 22:51
    #38642858
Lelouch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка кнопки закрытия (он же крестик) окна приложения
Изопропил,

Имхо, правильнее делать именно рестарт. Приложение может еще и крашнуться например, авторестарт в таком случае спасет.
...
Рейтинг: 0 / 0
15.05.2014, 22:52
    #38642859
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка кнопки закрытия (он же крестик) окна приложения
Ну я не спец, просто может автор не в том направлении копает.... Может на форуме администрирования виндов поспрошать, как запилить задуманное, не прибегая к программированию
...
Рейтинг: 0 / 0
15.05.2014, 23:06
    #38642881
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка кнопки закрытия (он же крестик) окна приложения
если приложение запускать в отдельном окне - вислоухий пользователь закрывши приложение догадается запустиь его заново
...
Рейтинг: 0 / 0
16.05.2014, 00:23
    #38642938
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка кнопки закрытия (он же крестик) окна приложения
а что за программа то? может, сервисом можно сделать?
...
Рейтинг: 0 / 0
16.05.2014, 08:43
    #38643044
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка кнопки закрытия (он же крестик) окна приложения
ИзопропилJS Mars,

если серьёзно - внедрить в процесс dll, повесить хук на закрытие. (кроме крестика - Alt-F4 нужно задизейблить )Проще найти окно и поиграть со стилем. В самом крайнем случае можно попробовать его обнулить, это должно вообще скрыть бордеры и кнопки. Но мне кажется, что можно и только крестик спрятать.
...
Рейтинг: 0 / 0
16.05.2014, 09:26
    #38643076
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка кнопки закрытия (он же крестик) окна приложения
ИзопропилJS Mars,

если серьёзно - внедрить в процесс dll, повесить хук на закрытие. (кроме крестика - Alt-F4 нужно задизейблить )
И dll injection (антивирусы это на дело очень возбуждаются), и хук не нужны:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
var hMenu = GetSystemMenu(hWnd, false);
if (hMenu == IntPtr.Zero) return;
EnableMenuItem(hMenu, SC_CLOSE, MF_BYCOMMAND | MF_GRAYED);
var cnt = GetMenuItemCount(hMenu);
RemoveMenu(hMenu, cnt - 4, MF_BYPOSITION | MF_DISABLED);
DrawMenuBar(hWnd);

....
[DllImport("user32.dll")]
static extern bool EnableMenuItem(IntPtr hMenu, uint uIdEnableItem, uint uEnable);
[DllImport("user32.dll", EntryPoint = "GetMenuItemCount")]
public static extern int GetMenuItemCount(IntPtr hmenu);
[DllImport("user32.dll", EntryPoint = "RemoveMenu")]
public static extern int RemoveMenu(IntPtr hmenu, int npos, uint wflags);
[DllImport("user32.dll")]
public static extern bool DrawMenuBar(IntPtr hWnd);


На C, конечно, такие вещи делать удобнее.
...
Рейтинг: 0 / 0
16.05.2014, 16:52
    #38643746
JS Mars
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка кнопки закрытия (он же крестик) окна приложения
Спасибо за советы!
Я уже писал на форуме Windows - там тишина)
Думаю программой удобнее всего. Универсальнее что ли, отлавливать сообщение о закрытии (я почитал в инете, по-ходу так можно делать) каким то образом не давать программе на него реагировать. Потомучто если с RDP еще можно настроить, чтобы сессия прерывалась после закрытия ПО. То в случае, если ПО запущено на машине клиента, так не сделаешь...

Вся проблема в том, что у меня нет опыта программирования, я наделся, что может кто уже сталкивался с подобными задачами и писал нечто подобное.
...
Рейтинг: 0 / 0
16.05.2014, 18:24
    #38643847
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка кнопки закрытия (он же крестик) окна приложения
Код: c#
1.
2.
3.
4.
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
    e.Cancel = true;
}
...
Рейтинг: 0 / 0
16.05.2014, 18:50
    #38643878
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка кнопки закрытия (он же крестик) окна приложения
Алексей К,

приложение то чужое
...
Рейтинг: 0 / 0
16.05.2014, 18:54
    #38643882
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка кнопки закрытия (он же крестик) окна приложения
ИзопропилАлексей К,

приложение то чужоеАга, увидел потом.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Блокировка кнопки закрытия (он же крестик) окна приложения / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]