SIEMENS, DF&PD

Предыдущее посещение: Сб июн 18, 2016 11:51 Текущее время: Сб июн 18, 2016 11:51

Часовой пояс: UTC + 3 часа




 [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Сворачивание/разворачивание главного окна
СообщениеДобавлено: Вс дек 22, 2013 13:19 
Не в сети
Известный Писатель

Зарегистрирован: Вс авг 30, 2009 2:48
Сообщения: 290
Откуда: http://www.industrialautomation.pro
Всем доброго времени!
В системе WinCC Professional RT сворачиваю главное окно следующим скриптом:
Код:
include "GlobalDefinitions.h"
void OnClick(char* screenName, char* objectName, char* propertyName)
{
#pragma code("user32.dll")
BOOL ShowWindow(HWND hwnd, int nCmdShow);
HWND GetForegroundWindow(void);
#pragma code()
HWND Handle;
Handle = GetForegroundWindow();
if ( GetTagBit("Min_max")== 0)
{
ShowWindow(Handle, SW_MINIMIZE);
SetTagBit("Min_max",1);
}
else
{
ShowWindow(Handle, SW_SHOWNORMAL);
SetTagBit("Min_max",0);
}

}

В Runtime settings в разделе Keyboard свойство Disable Windows keys установлено.
На кнопке,вызывающей данный скрипт и устанавливающей "Min_max" в true, стоит авторизация (только для группы админов). В результате окно сворачивается, но блокируется панель задач самой винды и невозможно вернуть окно WinCC в прежнее состояние. Кто-то решал такого рода задачу и,если решал, то каким образом?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 23, 2013 11:53 
Не в сети
Новый писатель

Зарегистрирован: Чт май 26, 2011 14:26
Сообщения: 39
Может написать внешнюю программу, которая бы разворачивала окно WinCC?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 23, 2013 12:53 
Не в сети
Известный Писатель

Зарегистрирован: Вс авг 30, 2009 2:48
Сообщения: 290
Откуда: http://www.industrialautomation.pro
GoshaM писал(а):
Может написать внешнюю программу, которая бы разворачивала окно WinCC?

Рассматриваю такой вариант, тольок непонятно, как разблокировать панель задач и кнопку "Пуск"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сворачивание/разворачивание главного окна
СообщениеДобавлено: Пн дек 23, 2013 12:59 
Не в сети
Известный Писатель

Зарегистрирован: Вт май 02, 2006 5:02
Сообщения: 355
krayu писал(а):
Всем доброго времени!
В Runtime settings в разделе Keyboard свойство Disable Windows keys установлено.
На кнопке,вызывающей данный скрипт и устанавливающей "Min_max" в true, стоит авторизация (только для группы админов). В результате окно сворачивается, но блокируется панель задач самой винды и невозможно вернуть окно WinCC в прежнее состояние. Кто-то решал такого рода задачу и,если решал, то каким образом?


Мы никогда не выставляли Disable Windows, а автозапуск WinCC переносили из Run в
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell
в реестре

Тогда вместо виндового шела запускается WinCC, для администрирования по авторизованной кнопке запускали шел с помощью ProgramExecute
Или админ мог перегрузить комп и войти под другим (админским) юзером

ну и чтобы юзеры точно не могли ничего открыть запрещали автостарты


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сворачивание/разворачивание главного окна
СообщениеДобавлено: Пн дек 23, 2013 13:16 
Не в сети
Известный Писатель

Зарегистрирован: Вт май 02, 2006 5:02
Сообщения: 355
Еще в ветке HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
в 1 выставляются
"NoDriveTypeAutoRun",
"NoNetHood",
"NoDesktop",
"NoFind",
"NoSetFolders",
"NoRun",
"NoFavoritesMenu",
"NoSetTaskBar",
"NoTrayContextMenu",
"NoRecentDocsMenu",
"NoCommonGroups",
"NoSetActiveDesktop",
"NoAddPrinter",
"NoSMHelp",
"NoChangeStartMenu",
"NoViewContextMenu",
"NoShellSearchButton",
"NoFolderOptions",
"NoStartBanner",
"DisableTaskMgr",
"NoDispCPL",
"NoViewMenu",
"NoEditMenu",
"NoFileMenu",
"NoHelp",
"NoStartMenuMorePrograms",
"NoStartMenuMFUprogramsList",
"NoUserNameInStartMenu",
"NoNetworkConnections",
"NoStartMenuNetworkPlaces",
"NoStartMenuSubFolders",
"NoSMMyPictures",
"ClearRecentDocsOnExit",
"MaxRecentDocs",
"NoControlPanel",
"NoDrives",
"NoViewOnDrive",
"NoDriveAutoRun",

так же
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Network
"NoEntireNetwork",
"NoNetSetup",
"NoNetSetupIDPage",
"NoNetSetupSecurityPage",

и
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
"NoVirtMemPage",
"NoDevMgrPage",
"NoConfigPage",
"NoFileSysPage",
"NoDispScrSavPage",
"NoDispAppearancePage",
"NoDispSettingsPage",
"NoDispScrSavPage",
"NoStartBanner",
"NoRun",
"NoRecentDocsMenu",
"NoDispCPL",
"NoViewMenu",
"NoEditMenu",
"NoFileMenu",
"NoHelp",
"DisableTaskMgr",
"DisableChangePassword",
"DisableLockWorkstation",

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\NonEnum\{20D04FE0-3AEA-1069-A2D8-08002B30309D}

HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Restrictions\NoBrowserOptions


а этот в 0
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoClose


Тогда винда полностью закрыта, разблокировать данного юзера можно только удаленно, запустив терминальную программу, и выставив эти парамерты наоборот

даже CRTL+ALT+DEL ничего не даст, будут доступны только кнопки перезапуска


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 23, 2013 15:13 
Не в сети
Известный Писатель

Зарегистрирован: Вс авг 30, 2009 2:48
Сообщения: 290
Откуда: http://www.industrialautomation.pro
to barracuda
Спасибо за ответ, этот метод я знаю. Проблема немного в другом. Вся работа в системе происходит под одной учетной записью (Windows) и поменять это невозможно. Администратор (WinCC) должен имет возможность не перезагружая систему свернуть окно, полазить в инете, поболтать по скайпу , возможно посмотреть интересные фотки, а потом развернуть окно в прежнее состояние.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 23, 2013 20:13 
Не в сети
Известный Писатель

Зарегистрирован: Вт май 02, 2006 5:02
Сообщения: 355
krayu писал(а):
to barracuda
Спасибо за ответ, этот метод я знаю. Проблема немного в другом. Вся работа в системе происходит под одной учетной записью (Windows) и поменять это невозможно. Администратор (WinCC) должен имет возможность не перезагружая систему свернуть окно, полазить в инете, поболтать по скайпу , возможно посмотреть интересные фотки, а потом развернуть окно в прежнее состояние.

Кхм, не вижу принципиальной разницы между сворачиванием WinCC по авторизированной кнопке и запуском нового шела, с этой же кнопки. Если не делать всего остального мною описанного, то у админа останутся все полномочия. Единственное, из того что я описал придется применить запрет на такие функции как автозапуск, и вызов диспетчера задач (вернее его некоторых функций), но думаю такие плюшки не нужны админу.
Или я не совсем понимаю вашу задачу.

И еще, не могу понять почему нельзя завести еще одну учетную запись? Какое ограничение тут действует?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 23, 2013 22:24 
Не в сети
Известный Писатель

Зарегистрирован: Вс авг 30, 2009 2:48
Сообщения: 290
Откуда: http://www.industrialautomation.pro
Заказчик не хочет,он говорит,что его техничекие спецы (дежурные операторы) настолько "несколько неподготовлены",что авторизоваться в винде не смогут.
П.С. Заказчик увидел пост, попросил исправить фразу про операторов)


Последний раз редактировалось krayu Чт дек 26, 2013 10:13, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 24, 2013 10:55 
Не в сети
Новый писатель

Зарегистрирован: Чт май 26, 2011 14:26
Сообщения: 39
krayu писал(а):
GoshaM писал(а):
Может написать внешнюю программу, которая бы разворачивала окно WinCC?

Рассматриваю такой вариант, тольок непонятно, как разблокировать панель задач и кнопку "Пуск"

Панель задач можно попробовать разблокировать так:
Код:
HWND hWnd;
hWnd=FindWindow("Shell_TrayWnd", NULL);
if (hWnd)
EnableWindow(hWnd, TRUE);

Только зачем это? Может конечно, я не совсем вас понимаю, но достаточно просто из вне послать ShowWindow к окну WinCC.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
 [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], YandexBot и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group