Пароль: Нет, это не сохраняется из соображений безопасности - оно используется, а затем удаляется. Вы можете получить зашифрованный пароль для этого пользователя из реестра, получив достаточные привилегии, а затем расшифровать его, используя что-то вроде радужные таблицы , но это чрезвычайно ресурсоемко и требует много времени с использованием современных методов. Гораздо лучше подсказать пользователю.
В качестве альтернативы, если вы хотите внедрить какую-то систему «единого входа», как это делает Novell, вам следует сделать это либо через GINA (до Vista), либо через поставщик учетных данных (Vista), что приведет к тому, что ваш код учитывая имя пользователя и пароль при входе в систему, единственный раз, когда пароль доступен.
Для имени пользователя получить текущее имя пользователя (того, кто запускает ваш код) очень просто: функция GetUserName в AdvApi32.dll делает именно это для вас.
Если вы работаете в качестве службы, вы должны помнить, что нет ни одного "вошедшего в систему пользователя": в любое время их несколько, например LocalSystem, NetworkService, SYSTEM и другие учетные записи, в дополнение к любым действительным людям , В этой статье приведен пример кода и документация для этого.