既定プログラムのMAILTOで例えばWindowsLiveメールを設定した場合、
レジストリでその設定を確認することは可能でしょうか?
また、レジストリの値はJAVAで取得することは可能でしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
レジストリから既定のプログラムが”何か”を取得することはできます。
ですがプログラムのパスとかじゃないので使いづらいかと。
Windowsのコマンドプロンプトで下記を実行したものと同じ結果が得られます。
C:¥> REG QUERY HKCU\Software\Classes\mailto // 結果 // (既定) REG_SZ Thunderbird URL //(以下省略)
上記のようなもので良ければ下記のようにProcessBuilderを使用して、
REGコマンドを実行して取得できます。
Java
1import java.io.*; 2 3public class WinRegReader{ 4 public static void main(String... args) throws IOException{ 5 ProcessBuilder pb = new ProcessBuilder("REG","QUERY","HKCU\\Software\\Classes\\mailto"); 6 Process process = pb.start(); 7 try(InputStream is = process.getInputStream()){ 8 System.out.println(result(is)); 9 } 10 } 11 12 private static String result(InputStream is) throws IOException{ 13 StringWriter sw = new StringWriter(); 14 int c; 15 while ((c = is.read()) != -1) 16 sw.write(c); 17 return sw.toString(); 18 } 19}
単純に既定のメーラーを起動したいとかでしたらDesktopクラスを使用することをオススメします。
Java
1Desktop desktop = Desktop.getDesktop(); 2desktop.mail();
その他にも既定のプログラムでファイルを開くopenメソッドなんかがあります。
参考:クラス Desktop - javadoc
投稿2016/05/27 09:42
総合スコア48
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。