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

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

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

Post by Alex3110 » Mon Sep 02, 2019 5:47 pm

Всем привет !

Использую 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: 191
Joined: Fri Feb 24, 2012 8:28 am

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

Post by Usver » Tue Sep 03, 2019 6:11 am

Можно поставить последний 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: 875
Joined: Tue Dec 26, 2006 5:21 am
Location: Russia

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

Post by Dfcz » Wed Sep 04, 2019 5:43 pm

До панели задач добраться легко. Например вставить флешку. Или вставить флешку, которую ещё не вставляли. Или вставить юсб модем. И так далее.

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

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

Post by Usver » Fri Sep 06, 2019 12:24 pm

Сегодня попробовал это проделать на Update 8 и нечего не появилось. До панели задач добраться не удалось таким методом. Винда 7 СП1. Вызвал из рантайма Винсиси эксплорер, и он появился, но до панели задач не добрался.

Dfcz
Posts: 875
Joined: Tue Dec 26, 2006 5:21 am
Location: Russia

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

Post by Dfcz » Fri Sep 06, 2019 1:46 pm

А, у вас программа свернута, сразу не понял. А почему не закрыть?
Мы закрываем, потом запускаем. Да, не удобно, но это бывает очень редко, только когда надо поковыряться в компе оператора.

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

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

Post by Usver » Fri Sep 06, 2019 1:57 pm

Ничего не свернуто. Просто в рантайме сделал кнопку открытия винсиси эксплорера, которая появляется при моем логине. Винсися эксплорер открывается, а на месте панели задач "остаточек" от рантайма (в смысле остаток от окна рантайма за окном винсиси эксплорера).
Так стало после апдейта 8.

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

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

Post by Usver » Fri Sep 06, 2019 2:18 pm

Там, кстати такая история еще есть: если подключаешься к этому компу через РДП, то АЛЬТ+ТАБ нормально работает, но непосредственно на нем не работает даже ВИН+Ю. На счет залипания клавиш не прокатывает. В общем много разнообразных вещей делал, но успеха нет. Вообще на самом деле там надо изменить значение ключа в реестре. Находил, но путь не помню, врать не буду.

Dfcz
Posts: 875
Joined: Tue Dec 26, 2006 5:21 am
Location: Russia

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

Post by Dfcz » Sat Sep 07, 2019 4:23 am

Извиняюсь, не внимательно читал. Теперь дошло. ))

Alex3110
Posts: 159
Joined: Mon Sep 27, 2010 7:17 pm

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

Post by Alex3110 » Thu Dec 05, 2019 4:38 pm

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

Dfcz
Posts: 875
Joined: Tue Dec 26, 2006 5:21 am
Location: Russia

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

Post by Dfcz » Thu Dec 05, 2019 7:48 pm

В биос включить юэсби порты сможет любой оператор.

Alex3110
Posts: 159
Joined: Mon Sep 27, 2010 7:17 pm

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

Post by Alex3110 » Thu Dec 12, 2019 11:44 am

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

Надеюсь, таких дебилов, среди операторов, мы на своём жизненном пути не встретим.
Last edited by Alex3110 on Thu Dec 12, 2019 5:23 pm, edited 1 time in total.

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

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

Post by Usver » Thu Dec 12, 2019 3:58 pm

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 » Thu Dec 12, 2019 5:19 pm

Ну это точно тогда будет защита против супер-пупер шпиона Джеймс-Бонда, а по совместительству оператора техпроцесса :D

Answers to FAQs
Faq & Info
Faq & Info
Posts: 173
Joined: Thu Oct 13, 2005 6:42 pm
Location: Frequently Asked Questions – Часто Задаваемые Вопросы

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

Post by Answers to FAQs » Thu Dec 12, 2019 5:58 pm


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

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

Post by Usver » Fri Dec 13, 2019 4:15 pm

А чем Вам не нравится вариант с апдейтом?

Dfcz
Posts: 875
Joined: Tue Dec 26, 2006 5:21 am
Location: Russia

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

Post by Dfcz » Fri Dec 13, 2019 6:51 pm

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

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

MaxS
Posts: 59
Joined: Sat May 17, 2014 1:26 am

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

Post by MaxS » Sat Dec 14, 2019 9:55 am

Может это подойдет:
http://www.cyberforum.ru/post9844974.html

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

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

Post by Usver » Tue Dec 17, 2019 4:24 pm

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

Post Reply