我想在调试模式下获取当前登录到Visual Studio的用户的电子邮件地址。就像使用Environment.UserName获取Windows帐户名一样。
可能吗?
答案 0 :(得分:0)
我永远不会将VisualStudio用户名用于许可系统。 VS用户的名称存储在一个简单的注册表项中,可以轻松操作。
您可以使用以下代码检索最多14个Visual Studio版本(Visual Studio 2015)的用户名/帐户信息。 Visual Studio 2017具有不同的注册表路径。阅读更多相关信息here。
const byte minVSVersion=11; // Visual Studio 2012
const byte maxVSVersion=14; // Visual Studio 2015
static List<string> getVSUsers()
{
var vsUsrs=new List<string>();
for(byte version=minVSVersion; version<=maxVSVersion; version++)
vsUsrs.Add((string)Registry.GetValue(
@"HKEY_USERS\.DEFAULT\Software\Microsoft\VisualStudio\"+version+@".0_Config\Registration",
"UserName", null));
return vsUsrs.Where(usr => usr!=null).ToList();
}
不幸的是,无法准确确定用户用于编译程序的VisualStudio版本。