C # - получение информации о локальной сессии пользователя Windows [дубликат]

Похоже, что что-то не так с вашей конфигурацией, вот несколько вещей, которые вы можете проверить:

  1. Убедитесь, что PHP установлен и работает правильно. Это может показаться глупым, но вы никогда не знаете. Простой способ проверить - запустить php -v из командной строки и посмотреть, возвращает ли информация о версии или какие-либо ошибки.
  2. Убедитесь, что модуль PHP указан и раскомментирован внутри вашего httpd.conf Apache. должно быть что-то вроде LoadModule php5_module "c:/php/php5apache2_2.dll" в файле. Найдите LoadModule php и убедитесь, что перед ним нет комментария (;).
  3. Убедитесь, что в файле httpd.conf Apache есть PHP MIME-тип. Это должно быть что-то вроде AddType application/x-httpd-php .php. Это говорит Apache, чтобы запустить .php файлы как PHP. Найдите AddType, а затем убедитесь, что есть запись для PHP, и что она раскоментирована.
  4. Убедитесь, что ваш файл имеет расширение .php на нем или любое расширение, указанное в определении MIME в point # 3, иначе он не будет выполняться как PHP.
  5. Убедитесь, что вы не используете короткие теги в файле PHP (), это не включен на всех серверах по умолчанию, и их использование не рекомендуется. Вместо этого используйте (или включить короткие теги в вашем php.ini с short_open_tag=On, если у вас есть код, который их использует).
  6. Убедитесь, что вы обращаетесь к своему файлу через ваш веб-сервер, используя URL-адрес, такой как http://localhost/file.php, не через доступ к локальному файлу file://localhost/www/file.php

И, наконец, проверьте Руководство по PHP для дальнейших советов по настройке .

5
задан Anish V 4 February 2015 в 09:09
поделиться

1 ответ

Как опубликовано в этом ответе StackOverflow: https://stackoverflow.com/a/604042/700926 вы должны посмотреть на событие SystemEvents.SessionSwitch Event / / g1.

Примерный код также можно найти в ответе.

Я просто взял код, показанный в ответе StackOverflow для вращения, и, похоже, работа с RTM Windows 8 с .NET framework 4.5.

Для вашей справки я включил полный пример кода консольного приложения, которое я только что собрал.

using System;
using Microsoft.Win32;

// Based on: https://stackoverflow.com/a/604042/700926
namespace WinLockMonitor
{
    class Program
    {
        static void Main(string[] args)
        {
            Microsoft.Win32.SystemEvents.SessionSwitch += new Microsoft.Win32.SessionSwitchEventHandler(SystemEvents_SessionSwitch);
            Console.ReadLine();
        }

        static void SystemEvents_SessionSwitch(object sender, Microsoft.Win32.SessionSwitchEventArgs e)
        {
            if (e.Reason == SessionSwitchReason.SessionLock)
            {
                //I left my desk
                Console.WriteLine("I left my desk");
            }
            else if (e.Reason == SessionSwitchReason.SessionUnlock)
            {
                //I returned to my desk
                Console.WriteLine("I returned to my desk");
            }
        }
    }
}
12
ответ дан Community 22 August 2018 в 04:28
поделиться
  • 1
    Я использую приложение Windows. Где мне нужно добавить Microsoft.Win32.SystemEvents.SessionSwitch += new Microsoft.Win32.SessionSwitchEventHandler(SystemEvents_SessionSwitch); – Anish V 6 September 2012 в 06:52
  • 2
    Это хорошо работало. Я добавил этот код внутри события инициализации формы. – Anish V 6 September 2012 в 07:07
Другие вопросы по тегам:

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