質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

2回答

3994閲覧

MAILTO設定をレジストリで確認することは可能であるか

makoto1213

総合スコア13

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2016/05/27 07:28

既定プログラムのMAILTOで例えばWindowsLiveメールを設定した場合、
レジストリでその設定を確認することは可能でしょうか?
また、レジストリの値はJAVAで取得することは可能でしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答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

encman

総合スコア48

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

やろうと思ったことがないので、ちょこっと調べたことを回答します。

レジストリにアクセスできるライブラリがあるようです。
ただ、最近アップデートされていないので動くかは知りません。
JRegistry

ライブラリを使う以外には、
reg.exeをJavaから実行して、実行結果を取得する方法があります。
ProcessBuilder、Processクラスを使用することで実装出来ます。

投稿2016/05/27 08:45

abs123

総合スコア1280

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

abs123

2016/05/27 08:47

レジストリのどこに何が入ってるかは知らないので自分で調べてください・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問