Как запретить оператору выход из WinCC RT в Windows ?

Панели оператора PP/OP/TP/TD/MP.
Программные пакеты ProTool/WinCC flexible, SCADA система WinCC
Alex3110
Posts: 159
Joined: Mon Sep 27, 2010 7:17 pm

Как запретить оператору выход из WinCC RT в Windows ?

Post by Alex3110 »

Всем привет !

Использую WinCC v.7.0 SP 3 + Upd1 на ПК с Win7 "Professional" SP1 x64

Жизнь стала совсем суровой.
Наши ибэшники требуют исключить все возможные комбинации выхода из WinCC RT на рабочий стол и/или в меню «ПУСК».
Для этого мне придётся (кроме «ALT+F4») заблокировать все 4 шт. комбинации клавиш, которые есть в Computer – Server Name – "Properties" – “Computer Properties” window – "Parameters" tab

Таким образом, я сам смогу выйти из WinCC RT, только если сконфигурирую соответствующую кнопку.

Кнопку сделать, конечно, можно, НО как быть, если мне надо только временно переключиться на рабочий стол и/или в меню «ПУСК» Win7, а потом вернуться назад в WinCC RT, и чтобы оператор потом так же не смог сделать ничего лишнего ?

Я вроде как нашёл решение тут https://support.industry.siemens.com/cs ... 0&lc=en-WW

но там требуют, чтобы окно проекта не разворачивалось в полный размер, а картинка была «адаптирована».

Однако единственный вариант, который меня устраивает, это «Full Screen», т.к. запреты на комбинации :
- CNTR+ALT+DEL ;
- ALT+TAB ;
- CNTR+ESC ;
- ALT+ ESC ;

в рантайме срабатывают только тогда, когда активирован «Full Screen» и, причём, до запуска WinCC RT.
Если «Full Screen» изначально не активирован, то даже если я потом полностью разверну окно проекта с помощью скрипта, то всё равно упомянутые комбинации будут срабатывать, что совсем не нужно.
Поэтому я запускаю проект с активированным «Full Screen», и только потом минимизирую окно проекта с помощью того же скрипта, повешенного на кнопку в каком-либо экране WinCC RT. Я только в ShowWindow исправил параметр SW_MAXIMIZE на SW_MINIMIZE
script
Show

Code: Select all

#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName, UINTnFlags, int x, int y)
{
#pragma code("user32.dll")
BOOL ShowWindow(HWND hwnd, int nCmdShow);
HWND GetForegroundWindow(void);
#pragma code()
HWND Handle;
Handle = GetForegroundWindow(); // get the Handle of the currently
// topped window which usually is
// WinCC Runtime
if ( GetTagBit("Min_max")== 0)
{
ShowWindow(Handle, SW_MINIMIZE); //minimize window
SetTagBit("Min_max",1);
}
else
{
ShowWindow(Handle, SW_SHOWNORMAL); //set back to normal
SetTagBit("Min_max",0);
}
}
Всё срабатывает, т.е. удаётся скрыть (минимизировать) окно WinCC RT и я вижу рабочий стол.
НО я не могу вернуться назад в WinCC RT, т.к. не могу добраться до «панели задач», где находится иконка окна открытого WinCC RT – проекта.

Как теперь снова развернуть окно WinCC RT – проекта ?

Заранее благодарен.
Usver
Posts: 193
Joined: Fri Feb 24, 2012 8:28 am

Re: Как запретить оператору выход из WinCC RT в Windows ?

Post by Usver »

Можно поставить последний Update 8 и
использовать примерно такой скрипт:
Show

Code: Select all

#pragma code ("UseAdmin.DLL")
#include "pwrt_api.h"
#pragma code()
#pragma code ("ALMXGINA.DLL")
BOOL SetXGinaValue(unsigned int uiKey, BOOL *pbEnable, DWORD dwSize);
#pragma code()

BOOL  bEnable;
BOOL bOK;
#define XGINA_ALLOW_SHUTDOWN    1

#define XGINA_ALLOW_LOGOUT           2

#define XGINA_ALLOW_CTRL_ALT_DEL 3

//Windows Key+E, /Windows Key+R
#define XGINA_ALLOW_CTRL_ESC          4 

#define XGINA_ALLOW_ALT_ESC          5

#define XGINA_ALLOW_ALT_TAB          6

bEnable = PWRTCheckPermission(19, TRUE);
bOK = SetXGinaValue(XGINA_ALLOW_CTL_ALT_DEL    , &bEnable , sizeof(bEnable ));
printf("#I101: SetXGinaValue() - bEnable=%d  bOK=%d   (lock/unlock windows keys)\r\n", bEnable, bOK);
Только галочка одна ставится на CNTR+ALT+DEL. В результате будет доступно меню ПУСК. ЕМНИП этот скрипт работает и на Upd1, но там должны стоять все галочки.
Dfcz
Posts: 878
Joined: Tue Dec 26, 2006 5:21 am
Location: Russia

Re: Как запретить оператору выход из WinCC RT в Windows ?

Post by Dfcz »

До панели задач добраться легко. Например вставить флешку. Или вставить флешку, которую ещё не вставляли. Или вставить юсб модем. И так далее.
Usver
Posts: 193
Joined: Fri Feb 24, 2012 8:28 am

Re: Как запретить оператору выход из WinCC RT в Windows ?

Post by Usver »

Сегодня попробовал это проделать на Update 8 и нечего не появилось. До панели задач добраться не удалось таким методом. Винда 7 СП1. Вызвал из рантайма Винсиси эксплорер, и он появился, но до панели задач не добрался.
Dfcz
Posts: 878
Joined: Tue Dec 26, 2006 5:21 am
Location: Russia

Re: Как запретить оператору выход из WinCC RT в Windows ?

Post by Dfcz »

А, у вас программа свернута, сразу не понял. А почему не закрыть?
Мы закрываем, потом запускаем. Да, не удобно, но это бывает очень редко, только когда надо поковыряться в компе оператора.
Usver
Posts: 193
Joined: Fri Feb 24, 2012 8:28 am

Re: Как запретить оператору выход из WinCC RT в Windows ?

Post by Usver »

Ничего не свернуто. Просто в рантайме сделал кнопку открытия винсиси эксплорера, которая появляется при моем логине. Винсися эксплорер открывается, а на месте панели задач "остаточек" от рантайма (в смысле остаток от окна рантайма за окном винсиси эксплорера).
Так стало после апдейта 8.
Usver
Posts: 193
Joined: Fri Feb 24, 2012 8:28 am

Re: Как запретить оператору выход из WinCC RT в Windows ?

Post by Usver »

Там, кстати такая история еще есть: если подключаешься к этому компу через РДП, то АЛЬТ+ТАБ нормально работает, но непосредственно на нем не работает даже ВИН+Ю. На счет залипания клавиш не прокатывает. В общем много разнообразных вещей делал, но успеха нет. Вообще на самом деле там надо изменить значение ключа в реестре. Находил, но путь не помню, врать не буду.
Dfcz
Posts: 878
Joined: Tue Dec 26, 2006 5:21 am
Location: Russia

Re: Как запретить оператору выход из WinCC RT в Windows ?

Post by Dfcz »

Извиняюсь, не внимательно читал. Теперь дошло. ))
Alex3110
Posts: 159
Joined: Mon Sep 27, 2010 7:17 pm

Re: Как запретить оператору выход из WinCC RT в Windows ?

Post by Alex3110 »

Dfcz wrote: Wed Sep 04, 2019 5:43 pm До панели задач добраться легко. Например вставить флешку. Или вставить флешку, которую ещё не вставляли. Или вставить юсб модем. И так далее.
В BIOS-се отрубить все USB-порты. Доступ к ПК - по "удалёнке". В Каспере на ПК настроить "Сетевой экран" соответствующим образом или использовать его же, но на базе CISCO.
Dfcz
Posts: 878
Joined: Tue Dec 26, 2006 5:21 am
Location: Russia

Re: Как запретить оператору выход из WinCC RT в Windows ?

Post by Dfcz »

В биос включить юэсби порты сможет любой оператор.
Alex3110
Posts: 159
Joined: Mon Sep 27, 2010 7:17 pm

Re: Как запретить оператору выход из WinCC RT в Windows ?

Post by Alex3110 »

Не любой. Только процентов 5 из их знают, что там есть какой-то "БИОС".
Это первое. Далее - эти 5% должны знать пароль на БИОС.
Третье - какой оператор-придурок станет вырубать весь ПК, чтобы вытащить, а потом втащить БИОС-батарейку ? Тогда уж проще тупо вырубить кнопкой питания весь ПК , а потом при запуске удерживать "SHIFT" или при входе в сеанс и автозапуске RT нажать "Cancel". И уж совсем проще, если он тупо кувалдой будет херачить по системнику, пока он не сплющится, при этом дико крича : "Я вам, сука, покажу - восстание машин".
Но за это - неминуемое увольнение, а потом :
- возможно и возмещение ущерба (если например произойдёт авария)
- или психушка (если признают невменяемым)
- или тюрьма (если признают шпиёном) :)

Надеюсь, таких дебилов, среди операторов, мы на своём жизненном пути не встретим.
Last edited by Alex3110 on Thu Dec 12, 2019 5:23 pm, edited 1 time in total.
Usver
Posts: 193
Joined: Fri Feb 24, 2012 8:28 am

Re: Как запретить оператору выход из WinCC RT в Windows ?

Post by Usver »

Alex3110 wrote: Thu Dec 12, 2019 11:44 am или при входе в сеанс и автозапуске RT нажать "Cancel".
Можно и это запретить. Можно просто запретить запуск эксплорера. Путь точно может и не вспомню, но примерно: HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon, создать строковый параметр Shell, в котором будет находиться то, что находится в HKLM\...\Run (запуск рантайма). Только правда это долго грузится (по сравнению с обычным автостартом). Можете попробовать :), но тогда и Вам сложнее будет добраться до рабочего стола :). Можете эксперементально такое проделать, записав туда calc.exe :)
Alex3110
Posts: 159
Joined: Mon Sep 27, 2010 7:17 pm

Re: Как запретить оператору выход из WinCC RT в Windows ?

Post by Alex3110 »

Ну это точно тогда будет защита против супер-пупер шпиона Джеймс-Бонда, а по совместительству оператора техпроцесса :D
Answers to FAQs
Faq & Info
Faq & Info
Posts: 178
Joined: Thu Oct 13, 2005 6:42 pm
Location: Frequently Asked Questions – Часто Задаваемые Вопросы

Re: Как запретить оператору выход из WinCC RT в Windows ?

Post by Answers to FAQs »

Usver
Posts: 193
Joined: Fri Feb 24, 2012 8:28 am

Re: Как запретить оператору выход из WinCC RT в Windows ?

Post by Usver »

А чем Вам не нравится вариант с апдейтом?
Dfcz
Posts: 878
Joined: Tue Dec 26, 2006 5:21 am
Location: Russia

Re: Как запретить оператору выход из WinCC RT в Windows ?

Post by Dfcz »

Alex3110 wrote: Thu Dec 12, 2019 11:44 am Не любой. Только процентов 5 из их знают, что там есть какой-то "БИОС".
Это первое. Далее - эти 5% должны знать пароль на БИОС.
Третье - какой оператор-придурок станет вырубать весь ПК, чтобы вытащить, а потом втащить БИОС-батарейку ? Тогда уж проще тупо вырубить кнопкой питания весь ПК , а потом при запуске удерживать "SHIFT" или при входе в сеанс и автозапуске RT нажать "Cancel". И уж совсем проще, если он тупо кувалдой будет херачить по системнику, пока он не сплющится, при этом дико крича : "Я вам, сука, покажу - восстание машин".
Но за это - неминуемое увольнение, а потом :
- возможно и возмещение ущерба (если например произойдёт авария)
- или психушка (если признают невменяемым)
- или тюрьма (если признают шпиёном) :)

Надеюсь, таких дебилов, среди операторов, мы на своём жизненном пути не встретим.
У вас фантазмы бьют горлом.
Столько эпитетов собрали, видимо операторы вам сильно насолили?
Или просто день не сложился?
MaxS
Posts: 62
Joined: Sat May 17, 2014 1:26 am

Re: Как запретить оператору выход из WinCC RT в Windows ?

Post by MaxS »

Может это подойдет:
http://www.cyberforum.ru/post9844974.html
Usver
Posts: 193
Joined: Fri Feb 24, 2012 8:28 am

Re: Как запретить оператору выход из WinCC RT в Windows ?

Post by Usver »

Работает классно! Хороший скрипт, полезный. Благодарю, взял на вооружение :) Стандартный скрипт от сименса не всегда почему-то работает.