你好我正在搜索是否在系统中安装了outlook?我在Java工作。我找到了很少的链接,但我无法达到我的目标。我发现了一种方法 “键入officeType = Type.GetTypeFromProgID(”Outlook.Application“);”,但我不知道应该导入哪个包。 我写下面的代码,但它给了我错误。
Type officeType = Type.GetTypeFromProgID("Outlook.Application");
if (officeType == null)
{
// Outlook is not installed.
// Show message or alert that Outlook is not installed.
}
else
{
// Outlook is installed.
// Continue your work.
}
有助于解决此问题。提前谢谢......
答案 0 :(得分:2)
每个软件在安装期间都会创建一个进入Windows注册表的条目。为了确定是否安装了任何软件,您需要在Windows机器中扫描和搜索注册表。您可以使用第三方Java API访问Windows注册表:jRegistryKey。
示例程序:
package your.pkg;
import java.io.File;
import java.util.Iterator;
import ca.beq.util.win32.registry.RegistryKey;
import ca.beq.util.win32.registry.RootKey;
public class Test {
public static void main(String... args) throws Exception {
RegistryKey.initialize(Test.class.getResource("jRegistryKey.dll").getFile());
RegistryKey key = new RegistryKey(RootKey.HKLM, "Software\\Microsoft\\Office\\<version>\\Outlook\\");
for (Iterator<RegistryKey> subkeys = key.subkeys(); subkeys.hasNext();) {
RegistryKey subkey = subkeys.next();
System.out.println(subkey.getName()); // You need to check here if there's anything which matches "Mozilla FireFox".
}
}
}
希望这会对你有所帮助。