Java 获取在安装操作系统期间给定的公司名称

Java 获取在安装操作系统期间给定的公司名称,java,Java,想象一下,一家名为XYZ的公司购买了一台Windows操作系统。在他们的系统中安装时,他们可能给出了他们公司的名称(XYZ)。如何从java中获取组织的名称(公司名称) 编辑:根据评论中的建议,我在regedit中搜索。可以看出,没有直接从操作系统信息获取公司名称的方法 (Microsoft office在HKEY\U CURRENT\U user\Software\Microsoft\office\Common\UserInfo-Company上安装时,显式存储从用户处获得的值)您可以通过基础

想象一下,一家名为XYZ的公司购买了一台Windows操作系统。在他们的系统中安装时,他们可能给出了他们公司的名称(XYZ)。如何从java中获取组织的名称(公司名称)

编辑:根据评论中的建议,我在regedit中搜索。可以看出,没有直接从操作系统信息获取公司名称的方法


(Microsoft office在HKEY\U CURRENT\U user\Software\Microsoft\office\Common\UserInfo-Company上安装时,显式存储从用户处获得的值)

您可以通过基础DNS使用IP地址来跟踪它

import java.net.InetAddress;
import java.net.UnknownHostException;

String hostname = "";

try
{
    InetAddress address;
    address = InetAddress.getLocalHost();
    hostname = address.getHostName();
}
catch (UnknownHostException ex)
{
    System.out.println("Can't Find the PC name");
}

您可以通过基础DNS使用IP地址来跟踪它

import java.net.InetAddress;
import java.net.UnknownHostException;

String hostname = "";

try
{
    InetAddress address;
    address = InetAddress.getLocalHost();
    hostname = address.getHostName();
}
catch (UnknownHostException ex)
{
    System.out.println("Can't Find the PC name");
}

您可以查找环境变量COMPUTERNAME(仅限Windows),而不是使用DNS查找。这不适用于Mac或Linux

private static String getComputerName()
{
    Map<String, String> environment = System.getenv();
    return environment.get("COMPUTERNAME");
}
私有静态字符串getComputerName()
{
Map environment=System.getenv();
返回environment.get(“COMPUTERNAME”);
}

您可以查找环境变量COMPUTERNAME(仅限Windows),而不是使用DNS查找。这不适用于Mac或Linux

private static String getComputerName()
{
    Map<String, String> environment = System.getenv();
    return environment.get("COMPUTERNAME");
}
私有静态字符串getComputerName()
{
Map environment=System.getenv();
返回environment.get(“COMPUTERNAME”);
}

XYZ作为PC名称?否。它是公司名称。是否有返回“XYZ”的Windows命令?您可以使用WMI查询或在注册表中查看。但仅在Java中实现这一点并不容易。我已经编写了一个C++扩展来克服这个问题。尽管有些人声称自己取得了成功,比如(查看
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization
以获取公司名称)@KarelG'HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization'这把钥匙在所有Windows系统中都可用吗?因为我也在编辑中提到的路径中获得了公司名称密钥。但是,如果用户没有将Microsoft office.XYZ作为电脑名称,则该路径将不可用?否。它是公司名称。是否有返回“XYZ”的Windows命令?您可以使用WMI查询或在注册表中查看。但仅在Java中实现这一点并不容易。我已经编写了一个C++扩展来克服这个问题。尽管有些人声称自己取得了成功,比如(查看
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization
以获取公司名称)@KarelG'HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization'这把钥匙在所有Windows系统中都可用吗?因为我也在编辑中提到的路径中获得了公司名称密钥。但是,如果用户没有Microsoft office,则该路径将不可用。谢谢。这将给出系统的名称。但我需要系统所属组织的名称。只有在安装过程中提供了此信息,才有可能。谢谢。这将给出系统的名称。但我需要系统所属组织的名称。只有在安装过程中提供了此信息时才可能。