Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 01.04.2017
Сообщений: 28

Определение версии и пользователей ОС Windows внешнего носителя информации

03.07.2018, 14:35. Показов 4287. Ответов 26

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

Стоит следующая задача: имеется компьютер, который служит для проведения исследований. Также имеются жесткие диски, которые необходимо исследовать. Загружается операционная система компьютера, после чего монтируется исследуемый жесткий диск (как дополнительный логический диск). Необходимо определить версию ОС Windows смонтированного жесткого диска, а также получить список пользователей (получить именно программно).

В чем заключается проблема: просмотрев ряд тем (на этом форуме в том числе) я обнаружил, что все перечисленные методы относятся к исследованию ПК, с которого была запущена ОС. Например, метод Environment.OSVersion.Version вернет значение запущенной операционной системы. Мне же необходимо определить версию ОС именно смонтированного диска, с которого загрузка не производилась.

Аналогичная ситуация и со списком пользователей. Но здесь, как вариант, можно просто просмотреть папки в директории C:/Users.

Подскажите, пожалуйста, как можно решить данную проблему на языке программирования C#?

Заранее большое спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.07.2018, 14:35
Ответы с готовыми решениями:

Определить серийный номер подключенного внешнего носителя информации
Защита программ от несанкционированной эксплуатации за счет привязки к носителю информации а) определить серийный номер подключенного...

Определение версии Windows
Всем привет! Подскажите, пожалуйста, как программно определить версию windows. Дело в том, что переписываю программу с vb6 на vb2005 и...

Определение версии Windows
Есть переменная. Которая содержит нечто вроде Есть негодный код, с помощью которого можно уловить смысл требуемого:) <? ...

26
0 / 0 / 0
Регистрация: 01.04.2017
Сообщений: 28
05.07.2018, 13:06  [ТС]
Студворк — интернет-сервис помощи студентам
belalugoci, поясните, пожалуйста, что означает по F3 в FAR?

Касаемо файла реестра: да, я могу его открыть. Например, на рисунке открыл с помощью блокнота.
(Открыл DEFAULT, а не SOFTWARE потому, что первый по объему меньше)
Миниатюры
Определение версии и пользователей ОС Windows внешнего носителя информации  
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18363 / 14293 / 5370
Регистрация: 17.03.2014
Сообщений: 28,973
Записей в блоге: 1
05.07.2018, 13:23
Лучший ответ Сообщение было отмечено sashkir7 как решение

Решение

sashkir7, необходимо запускать программу с правами администратора и разрешить привилегии BACKUP, RESTORE для процесса. Я для этого люблю использовать библиотеку ProcessPrivileges. После закрытия Codeplex качать откуда релизы в нормальном режиме невозможно поэтому прикладываю архив.
C#
1
2
3
4
5
6
7
8
using (var pe = new PrivilegeEnabler(Process.GetCurrentProcess(), Privilege.Backup, Privilege.Restore))
{
    const string KEY_NAME = "SoftwareFromExtDrive";
    if (0 == RegLoadKey(HKEY_LOCAL_MACHINE, KEY_NAME, @"C:\Users\IEUser\AppData\Local\Microsoft\VisualStudio\15.0_90647c5a\privateregistry.bin"))
    {
        RegUnLoadKey(HKEY_LOCAL_MACHINE, KEY_NAME);
    }
}
Декларации
C#
1
2
3
4
5
6
7
[DllImport ("advapi32.dll", SetLastError = true)] 
static extern int RegLoadKey (UIntPtr hKey, string lpSubKey, string lpFile);
 
static readonly UIntPtr HKEY_LOCAL_MACHINE = new UIntPtr(0x80000002);
 
[DllImport("advapi32.dll", SetLastError=true)]
static extern int RegUnLoadKey(UIntPtr hKey, string lpSubKey);


Если не хочется возиться с привилегиями, то можно использовать функцию RegLoadAppKeyW, которая их не требует. Но в этом случае всю работу с реестром придется выполнять через Windows API - это недостаток. Достоинством яаляется то что загружаемая ветка будет видна только текущему приложению.
Вложения
Тип файла: zip ProcessPrivileges.zip (18.8 Кб, 4 просмотров)
0
0 / 0 / 0
Регистрация: 01.04.2017
Сообщений: 28
05.07.2018, 13:34  [ТС]
OwenGlendower, ОГРОМНОЕ СПАСИБО!
О чудо, это все-таки заработало
Чуть позже (как разберусь) опишу подробнее что да как. Авось еще понадобится кому-нибудь.
0
06.07.2018, 04:53

Не по теме:

Цитата Сообщение от sashkir7 Посмотреть сообщение
поясните, пожалуйста, что означает по F3 в FAR?
Вот и наступило то время...

0
0 / 0 / 0
Регистрация: 01.04.2017
Сообщений: 28
10.07.2018, 08:07  [ТС]
belalugoci, объясните, пожалуйста, что это.
0
15 / 14 / 9
Регистрация: 21.11.2015
Сообщений: 86
11.07.2018, 04:42
Цитата Сообщение от sashkir7 Посмотреть сообщение
объясните, пожалуйста, что это.
Far - бородатый консольный файловый менеджер. По нажатии на кнопку F3 показывает содержимое файла
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
11.07.2018, 11:59
Цитата Сообщение от sashkir7 Посмотреть сообщение
объясните, пожалуйста, что это.
Выросли поколения людей работающие только в окнах проводника, хотя тот же FAR позволяет делать операции над группами файлов быстрее и проще. Ну и как вариант, встроенный просмотрщик не открывает весь файл целиком, а показывает только то что умещается на экране, это позволяет за доли секунды открыть огромный файл (хоть 100Гб размером) и быстро посмотреть начало, конец или воспользоваться контекстным поиском. Ну а если вы работаете с консолью или консольными программами, то FAR даст вам историю использования команд, что позволяет при сложных и длинных запросах просто выбирать их из общего списка истории команд. Полезно при использовании GIT, консольной компиляции, при работе с андроид устройствами и т.п.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.07.2018, 11:59

Определение полной версии Windows
Здравствуйте, помогите пожалуйста разобраться, хочу узнать полную версию Windows, например, Windows 7 Домашняя базовая. Есть такой...

Переподключение любого носителя информации USB 2.0 на морде системника
Добрый вечер, товарищи. Некоторое время назад возникла такая проблема: Любая флешка, картридер, электронная книга при подключении к ПК...

Определение версии Java и версии браузера
Поступила интересная задача. Есть необходимость получать, оперативно, от клиента информацию о его версии Java и версии браузера, на...

Есть ли какие - то ограничения по минимальной версии Windows / Linux для последней версии Qt?
Привет! Вот тут какие - то непонятки. Скачал Qt последний на Win7 - ворк пёрфеткли, на 8.1 - та же петрушка. А вот Windows XP SP3 под рукой...

Изучение свойств энтропии и информации. Определение состояния технической системы методами теории информации
Почему рекомендуется начинать программу поиска с проверки , сумма вероятностей отказов проверяемых блоков для которой близка к 0,5?


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru