Надеемся на эту помощь
set a=%username%
echo %a%
set a="hello"
echo %a%
Ай это будет твердым сделать от управляемого кода.
существует образец на codeproject
, большая часть материала может быть сделана в interop, но Вам нужен драйвер для получения, имя файла вызывают его жизни в адресном пространстве ядра. Проводник процесса встраивает драйвер в свои ресурсы. При получении этого всего поднятого трубку от C# и поддержке 64 битов, а также 32, будет сильной головной болью.
Можно также запустить приложение командной строки, Дескриптор , Mark Rusinovich, и проанализировать вывод.
Вы можете P/INVOKE в NtQuerySystemInformation
функция, чтобы запросить для всех дескрипторов и затем пойти оттуда. Этот обсуждение групп Google имеет детали.
Handle - отличная программа, и ссылка на codeproject хорошая.
@Brian Причина появления кода в том, что handle.exe НЕ распространяется. Они также не раскрывают свой источник.
Похоже, что .Net будет нелегко сделать это, поскольку для доступа к информации требуется встроенное устройство. Это невозможно сделать в .net без неподключенной библиотеки DLL. Это относительно глубокий код ядра по сравнению с типичным кодированием .net. Я удивлен, что WMI этого не раскрывает.