Проверка рабочую станцию блокирует/разблокирует изменение с c#

Код, который вы ищете, это:

int[][,] rarr = new int[2][,];
rarr[0] = new int[100, 100];
rarr[1] = new int[100, 100];

Или, в более общем смысле, это:

int[][,] rarr = new int[2][,];

for (int i = 0; i < 2; i++)
    rarr[i] = new int[100, 100];

Ваш код пытается выделить 3 различных массива в один строка кода - что вы не можете сделать. Как будто вы пытаетесь сделать то же самое, что и этот недопустимый фрагмент кода:

List<Dictionary<string, string>> x = new List<new Dictionary<string, string>()>();

Я чувствую, что из вашего описания вы действительно хотите этого:

int[,][] rarr = new int[100,100][];

for (int i = 0; i < 100; i++)
    for (int j = 0; j < 100; j++)
        rarr[i, j] = new int[2];
7
задан Community 23 May 2017 в 11:52
поделиться

3 ответа

Можно получить это уведомление с помощью сообщения WM_WTSSESSION_CHANGE. Необходимо уведомить Windows, что Вы хотите получить эти сообщения через WTSRegisterSessionNotification и не зарегистрироваться в WTSUnRegisterSessionNotification.

Эти сообщения должны быть полезными для реализации C#.

http://pinvoke.net/default.aspx/wtsapi32.WTSRegisterSessionNotification

http://blogs.msdn.com/shawnfa/archive/2005/05/17/418891.aspx

http://bytes.com/groups/net-c/276963-trapping-when-workstation-locked

3
ответ дан 6 December 2019 в 10:54
поделиться

Событие SessionSwitch может быть Вашим лучшим выбором для этого. Проверьте, что SessionSwitchReason прошел через SessionSwitchEventArgs для обнаружения, какой переключатель это, и реагируйте соответственно.

15
ответ дан 6 December 2019 в 10:54
поделиться

Вам абсолютно не нужен WM_WTSSESSION_CHANGE, Просто используют внутреннюю пчелу WTTS.

-2
ответ дан 6 December 2019 в 10:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: