Как я могу предотвратить сворачивание любого окна?

1675
Moses

Я настраиваю компьютер с киоском / POS, который запускает определенные приложения из панели запуска. У меня все настроено так, как мне нужно, кроме одной вещи.

Я могу закрыть запущенные приложения (например, Chrome или IE), но не хочу сворачивать их, потому что панель задач отключена.

Как можно полностью отключить минимизацию (или подобный обходной путь для достижения вышеуказанной цели)?


Редактировать: Одно из возможных решений, которое я пробовал, состояло в том, чтобы зацикливать этот скрипт Powershell каждые несколько секунд

$dllInfo = '[DllImport("user32.dll")] public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);' Add-Type -MemberDefinition $dllInfo -name NativeMethods -namespace Win32 foreach($proc in Get-Process){ $hwnd = $proc.MainWindowHandle # Restore window [Win32.NativeMethods]::ShowWindowAsync($hwnd, 4) | Out-Null } 

Но это только привело к тому, что мой процессор завис в пригодном для использования состоянии. Любые другие идеи или улучшения в этом?

0
Я не знаю деталей, но я думаю, у вас есть много запущенных процессов, и только у некоторых есть окна. Таким образом, вы можете кэшировать этот список и отфильтровывать те, у которых нет окон (например, те, которые уже запущены при запуске вашего киоска). Или через секунду после запуска приложения захватите его идентификатор процесса и затем просмотрите его. Daniel Griscom 8 лет назад 0
@DanielGriscom На самом деле, их не так уж много. Windows по существу заблокирована на панели задач, а Rainmeter работает как пользовательский интерфейс конечного пользователя. Rainmeter может запустить пару сайтов в Chrome или IE, и это все. На холостом ходу это моя статистика использования: https://i.imgur.com/038BmGd.png Moses 8 лет назад 0
Но сколько процессов возвращает Get-Process и сколько вы можете отфильтровать? Daniel Griscom 8 лет назад 0
@DanielGriscom Ах, да. Я не думал об этом. Я предполагаю, что это довольно грубый способ сделать это, я не так хорош с powershell: / Moses 8 лет назад 0

1 ответ на вопрос

-1
Daniel Griscom

There are a number of Windows products that support feature-limiting for kiosks. Auto-restarting, blocking the task bar, window control, preventing use of Explorer, blocking special keystrokes, etc. I've used SiteKiosk in the past, but it's been a while, so I don't know whether it's been surpassed since then.

Some possibly useful links:

Я уже остановился на программном обеспечении для киосков, спасибо! Это более или менее специально разработанная оболочка. Это была единственная проблема, которую мне нужно было преодолеть с помощью сценариев или других средств. Moses 8 лет назад 0