Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/49: Рейтинг темы: голосов - 49, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 32

Как узнать заблокирован ли компьютер

21.09.2010, 17:16. Показов 9552. Ответов 59
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Мне нужно узнать, заблокирован ли компьютер. То есть находится ли система в состоянии блокировка.
Один из способов такой блокировки: ctrl+alt+del -> блокировка.
Я нашол статью http://support.microsoft.com/kb/310153#top.
К сожалению у меня выдает ошибку:
fastuserswitching\fastuserswitching.cpp( 4) : fatal error C1083: Cannot open precompiled header file: 'Debug/FastUserSwitching.pch': No such file or directory
Error executing cl.exe.
Всю инструкцию я проделал в новом проекте.
Работаю в Visual 6.
Помогите разобраться.
Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.09.2010, 17:16
Ответы с готовыми решениями:

Узнать заблокирован ли компьютер?
Здравствуйте! У меня возникла проблемка. Нужно определять заблокирован ли компьютер. Нашел вот такую функцию: function...

Компьютер заблокирован, но как то странно
Здравствуйте! Только вчера купила новый ноут с Windows8, сразу поставила лицензионный антивирусник. Вчера всё было нормально, а сегодня...

Как узнать заблокирован байт или он свободен
1С-ка при запуске заводит в файле запись юзера и блочит байт на 2 мильёна вперед и это есть флаг того, что юзеор активен.... как мне...

59
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
26.09.2010, 00:01
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от imAlex Посмотреть сообщение
Данный код-декларация потписывается у системы на получение сообщений о блокировке системы, logIn, logUot User. Так вот как теперь эти сообщения отловить или передать в маин. Мне необходимо, чтоб при появлении такого сообщения в фаил записывались разные данные.
Спасибо за проявленный интерес.
Расплывчатость описаний не даёт мне возможности утверждать, что мы говорим об одном и том же.
В коде есть процедура окна, WndProc.
Она обрабатывает все сообщения, приходящие от системы (Windows Messages).
В такой конструкции, как switch блок происходит обработка всех сообщений, поступающих данному окну либо, если это главное окно процесса, данному процессу.
Подписыватся на сообщения необходимости нет, Windows рассылает сообщения о переходе в тот же hibernation и т.п. всем процессам по умолчанию.
0
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 32
27.09.2010, 13:19  [ТС]
Что означают следующие ошибки:
"FastUserSwitching.exe": Загружено: "D:\InOut\FastUserSwitching2\FastUserSwi tching\Debug\FastUserSwitching.exe", Символы загружены.
"FastUserSwitching.exe": Загружено: "C:\WINDOWS\system32\ntdll.dll", Невозможно найти или открыть файл PDB
"FastUserSwitching.exe": Загружено: "C:\WINDOWS\system32\kernel32.dll", Невозможно найти или открыть файл PDB
"FastUserSwitching.exe": Загружено: "C:\WINDOWS\system32\user32.dll", Невозможно найти или открыть файл PDB
"FastUserSwitching.exe": Загружено: "C:\WINDOWS\system32\gdi32.dll", Невозможно найти или открыть файл PDB
"FastUserSwitching.exe": Загружено: "C:\WINDOWS\system32\wtsapi32.dll", Невозможно найти или открыть файл PDB
"FastUserSwitching.exe": Загружено: "C:\WINDOWS\system32\msvcrt.dll", Невозможно найти или открыть файл PDB
"FastUserSwitching.exe": Загружено: "C:\WINDOWS\system32\winsta.dll", Невозможно найти или открыть файл PDB
"FastUserSwitching.exe": Загружено: "C:\WINDOWS\system32\netapi32.dll", Невозможно найти или открыть файл PDB
"FastUserSwitching.exe": Загружено: "C:\WINDOWS\system32\advapi32.dll", Невозможно найти или открыть файл PDB
"FastUserSwitching.exe": Загружено: "C:\WINDOWS\system32\rpcrt4.dll", Невозможно найти или открыть файл PDB
"FastUserSwitching.exe": Загружено: "C:\WINDOWS\system32\secur32.dll", Невозможно найти или открыть файл PDB
"FastUserSwitching.exe": Загружено: "C:\WINDOWS\system32\msvcr100d.dll", Символы загружены.
"FastUserSwitching.exe": Загружено: "C:\WINDOWS\system32\guard32.dll", Невозможно найти или открыть файл PDB
"FastUserSwitching.exe": Загружено: "C:\WINDOWS\system32\version.dll", Невозможно найти или открыть файл PDB
"FastUserSwitching.exe": Загружено: "C:\WINDOWS\system32\fltlib.dll", Невозможно найти или открыть файл PDB
0
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
27.09.2010, 13:59
http://msdn.microsoft.com/ru-r... f8bd1.aspx
0
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 32
27.09.2010, 14:59  [ТС]
Цитата Сообщение от Andrew_Lvov Посмотреть сообщение
Расплывчатость описаний не даёт мне возможности утверждать, что мы говорим об одном и том же.
В коде есть процедура окна, WndProc.
Она обрабатывает все сообщения, приходящие от системы (Windows Messages).
В такой конструкции, как switch блок происходит обработка всех сообщений, поступающих данному окну либо, если это главное окно процесса, данному процессу.
Подписыватся на сообщения необходимости нет, Windows рассылает сообщения о переходе в тот же hibernation и т.п. всем процессам по умолчанию.
Хорошо. В таком случае как мне получить это сообщение. Насколько я понял то, что Вы написали, система само отсылает сообщение всем, в том числе и моей проге, как только юзер заблокирует комп или завершит сеанс.
Так как мне его получить?
Например винда рассылает всем сообщение userLock. Я его получаю в MessageBox, тогда мне необходимо, чтобы как только это сообщение пришло, происходило следующее:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
if (MessageBox="userLock")//если система заблокирована
{
FILE *file;
        char load_string[50] = "none";
        file = fopen( file_name, "a" );
        textFile="userLock";
        fputs(textFile, file );
        fclose( file );
        return 0;
}
if (MessageBox="userOut")//если сеанс завершён
{
FILE *file;
        char load_string[50] = "none";
        file = fopen( file_name, "a" );
        textFile="userOut";
        fputs(textFile, file );
        fclose( file );
        return 0;
}
0
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
27.09.2010, 15:34
Цитата Сообщение от imAlex Посмотреть сообщение
if (MessageBox="userLock")
messagebox - это адрес функции. Ему нельзя ничего присвоить.

C++
1
2
3
4
5
6
7
8
9
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
...
case WTS_SESSION_LOCK:
  // do your things here
  ...
  break;
...
}
http://msdn.microsoft.com/en-u... S.85).aspx
0
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 32
27.09.2010, 16:05  [ТС]
У меня прога закрывается раньше чем я успеваю заблокировать сеанс.

Добавлено через 10 минут
Я попробовал в кейсе прописать вызов процедуры, которая записывает в файл текст, то ничего не записалось
C++
1
2
3
4
5
6
7
case WTS_SESSION_LOCK:
                 MessageBox(hWnd, TEXT("WTS_SESSION_LOCK"), 
                            TEXT("WM_WTSSESSION_CHANGE"), MB_OK );
                 ttt="WM_WTSSESSION_LOCK";
                 FileS(ttt);
                 printf("WM_WTSSESSION_LOCK");
                 break;
0
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
27.09.2010, 17:10
О, пардон, был не прав.
Сначала окно регистрируется на получение сообщений с помощью WTSRegisterSessionNotification.
Дальше надо ловить сообщение WM_WTSSESSION_CHANGE и проверять wParam. Если он равен WTS_SESSION_LOCK - значит это нужный ивент.
0
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 32
27.09.2010, 17:14  [ТС]
А как это сделать?
0
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
27.09.2010, 17:17
Цитата Сообщение от imAlex Посмотреть сообщение
А как это сделать?
Открываешь гугл, ищешь первое ключевое слово, потом второе, ищешь примеры кода. А вообще, я бы советовал поискать, как вообще программа работает с WinAPI.
0
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 32
27.09.2010, 18:45  [ТС]
Andrew_Lvov, не могу понять как это работает.
Умоляю, допишите код. Мне кажется это не должно занять много времени.
Мне позарез необходимо дописать эту программу.
Я все исходники скину в нет, людям пользоваться. По идее программа хорошая, а главное нужная должна получиться.
Она состоит из exe-шника (который все никак не дописать), и php+JS. Результат отображается на сайте, есть возможность фильтрации по имени юзера, дате и компу.
Та часть, которая создает и заполняет php-include, практически готова, осталось добавить туда сессии юзеров.
0
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 32
07.10.2010, 12:28  [ТС]
Ребят, прошу прощения, что слегка не по теме, но есть ли в с++ функция, которая заменяет текст или строку в файле(например в *.txt)?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
07.10.2010, 13:21
Цитата Сообщение от imAlex Посмотреть сообщение
Ребят, прошу прощения, что слегка не по теме, но есть ли в с++ функция, которая заменяет текст или строку в файле(например в *.txt)?
Читаете файл в буфер, правите содержимое буфера и пишите обратно в файл.
0
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 32
08.10.2010, 10:07  [ТС]
но он тогда дописывает, а мне по сути надо заменить, то есть есть строка, которая начинается например со слова ПРИВЕТ, я ее нахожу, затем мне необходимо ее стереть и на ее место вписать ДО СВИДАНИЕ.

Добавлено через 2 часа 25 минут
я тут нашел статейку http://www.cyberguru.ru/cpp-so... fajle.html. этот код действительно ищет нужный текст и даже заменяет его, но вот только на какую то ерунду. никак не могу понять, в каком месте он это делает?

Добавлено через 15 часов 50 минут
Кто знает, в какой последовательности загружаются приложения при входе пользователя в систему? Можно ли эту последовательность определять самостоятельно? В какой момент система отправляет сообщение о том, что пользователь залогинился?
0
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 32
18.10.2010, 15:36  [ТС]
Всем привет.
Дописал программу, запустил на другом компе и прога сразу вылетела. Пишет, что не может найти msvcp100d.dll. Кто знает, с чем может быть связано такое сообщение?
0
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
18.10.2010, 18:16
imAlex, компилили debug или release ?
Нужно либо делать static library linkage, либо инсталлировать на требуемом компе Visual Studio Runtime.
0
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 32
18.10.2010, 18:19  [ТС]
Andrew_Lvov, а можно чуть по подробнее про оба способа и чем они грозят.
0
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
18.10.2010, 18:22
imAlex, насколько я помню, msvcp100d.dll - это debug библиотека. Её в любом случае не будет на другом компе, где нет самой студии. Потому только release.
Кроме того, в debug отключена оптимизация, много лишних данных, нужных только для дебага.
0
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 32
18.10.2010, 18:27  [ТС]
так а как делать static library linkage? Это надо по всем подключенным библиотекам пройтись и скопировать необходимые куски?
0
Эксперт С++
 Аватар для Andrew_Lvov
261 / 191 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
18.10.2010, 18:30
Project Properties->C++->Code Generation->Runtime Library = "Multi Threaded /MT"
1
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 32
18.10.2010, 18:44  [ТС]
Огромное спасибо!!!!
Сработало. Прога работает
УРРАААА!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.10.2010, 18:44
Помогаю со студенческими работами здесь

Как узнать принадлежит ли компьютер к домену по IP?
Первая просьба к "экспертам" данного форума. Дочитать этот текст до конца, а не сразу вываливать десяток бессмысленных ссылок, которые...

Как узнать скорость интернета через компьютер
Уважаемые пользователи этого форума, подскажите пожалуйста, как узнать скорость интернета через компьютер!

Как узнать, поддерживает ли компьютер технологию TSC?
Добрый вечер ребятки. В общем: Нужно узнать поддерживает ли мой пк технологию TSC(счетчик меток реального времени). Погуглив смог найти...

Как узнать, откуда компьютер получает интернет?
подскажите, как узнать откуда компьютер получает интернет? или хотя бы как узнать стоит ли галочка "Использовать прокси"

Как узнать, что компьютер пингуют в данный момент?
Всем добрый день! команда ping - это значит что я отправляю "пакеты" на какой-то IP а как я могу узнать что мне приходят такие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru