MOMOYA.Labs 桃屋ラボ
最終更新日時
 2019年05月29日(Wed)
コンテンツ
    トップページ
  • VB
    • フォーム
    • コントロール
    • インターネット
  • C#
    • フォーム
    • ファイルシステム
    • データ統計
    • SQLite
  • VBA
    • Excel
    • Tips
  • PHP
    • 基礎
    • 文字列
    • ファイルシステム
    • 通信
    • PEAR
    • Twitter API
    • Tips
  • Ruby
    • Rubyを始めよう!
    • ファイルアクセス
    • ディレクトリ
    • Excel操作
  • Python
    • Pythonを始めよう!
  • OpenSocial
    • 各種情報
  • HTML&CSS
    • HTML5
    • CSS
    • iPhone向けサイト作成
    • HTML Tips
    • CSS Tips
  • Javascript
    • ウィンドウ関連
    • ナビゲーション
    • 便利なスクリプト
    • Tips
  • プログラム全般
    • .Net Framework
    • 数学?
    • その他
  • Oracle
    • Tips
    • 各種情報
  • DB2
    • Tips
  • MySQL
    • 開発で使いそうなSQL
    • メンテナンス
  • ネットワーク
    • デバイス
    • その他
  • Windows
    • Vista
    • Windows 7
    • IIS
    • Excel
    • 拡張
    • コマンドプロンプト活用
    • 不具合対応
    • ショートカットキー
    • Tips
  • Windows FreeSoft
    • ブラウザ(FireFox)
    • Web開発関連
    • グラフィック
    • プログラミング
    • SQL
    • VMware
    • プロジェクト管理
    • その他
    Mac
  • Linux&Unix
    • Kubuntu
    • Fedora
    • Debian
    • NetBSD
    • Tips
  • Linux Software
    • オンラインストレージ
  • インターネット知識
    • ホームページ作成
    • Javascriptで操作
    • アフィリエイト
    • ネットで見つけた面白いもん
    • 便利なサイト
    • 便利な活用方
    • Twitter
    • その他
  • iPhone
    • おすすめアプリ
    • Jailbreak
    • 検証
  • 雑記
    • ネットワーク関連
    • ハードウェア関連
    • セキュリティ関連
    • 読み方
    • 故障?保証対象?
    • その他
  • 雑記(IT・デジモノ以外)
    • 言葉の意味
    • 転職関連
    • その他
  • MOMOYA's FreeSoft
    • Keyboard Launchar
  • 個人的メモ
    • リンクメモ
    • ネタ
サイト内検索
Sponsored Link
プロフィール

名前:桃屋
歳/性別:20代/Male
生息地:東京都(23区内)
Sponsored Link
リンク(ジャンル別50音順|■ = 相互)
【 プログラム全般 】
■ MadCap ・ SQLの窓 ・ Wordpress初心者な技術屋の忘備録
【 VB,C# 】
・ C#,VB.NET入門 ・ DOBON.NET
【 PHP 】
・ phpspot ・ Smartyマニュアル ・ 忘れっぽいエンジニアのPHPリファレンス
【 API 】
・ Google Maps API リファレンス ・ Google MAPS APIプログラミング ・ Twitter API Viewer
【 HTML&CSS 】
・ Tag index
【 JavaScript 】
・ 432 + JavaScript Libraries ・ jsdo.it
【 その他のプログラミング言語 】
・ 逆引きPython ・ 逆引きRuby
【 プログラミング関連 】
・ 正規表現メモ
【 読み物 】
・ MSDN マガジン
【 Oracle 】
・ Oracle管理者のためのSQLリファレンス ・ 忘れっぽいエンジニアのORACLEリファレンス
【 Linux,UNIX 】
・ CentOSで自宅サーバー構築 ・ Fedoraで自宅サーバー構築 ・ FTP/理化学研究所 ・ Linuxコマンド逆引き大全 ・ Linuxで自宅サーバ
【 便利サイト 】
・ Wayback Machine
【 Webツール 】
・ .htaccess Editor ・ Convert C# to VB.NET ・ Convert VB.NET to C# ・ QRコード作成 ・ テキスト変換サービス
【 開業関連 】
・ プログラマーとSEのフリーランスのススメ
【 ブログ類 】
■ ぱんだぁにゃ ■ 元携帯屋店員がブログにちょうせん! ■ 日常気まぐれブログ
【 その他 】
・ 2018年 秋アニメ 一覧 ・ 2018年 夏アニメ 一覧 ・ 2018年 春アニメ 一覧 ・ アキバイズム
-> リンク一覧 
モバイルサイト
RSS 2.0
更新情報をRSSで取得!
アクセスカウンター


現在の閲覧者数:

設置日:2008年12月05日

[C#-ファイルシステム] 既定のブラウザ/メーラの実行ファイルパスを取得

既定のブラウザ/メーラの.EXEファイル・パスを取得するには?[C#、VB]より、ソースコードをコピーしています。

以下のソースコードでは、コンソール用アプリケーションのコードで、実行すると規定のブラウザとメーラーのそれぞれのPATHを取得するメソッドを作成し、それらのメソッドでPATHを取得し、規定のブラウザとメーラーを起動します。

using System;
using Microsoft.Win32;
using System.IO;
using System.Diagnostics;

class Program
{
  static void Main(string[] args)
  {
    // 既定のブラウザとメーラのパスを取得する
    string browserPath = GetDefaultBrowserExePath();
    string mailerPath = GetDefaultMailerExePath();

    // ブラウザとメーラを立ち上げる
    Process.Start(browserPath);
    Process.Start(mailerPath);
  }

  private static string GetDefaultBrowserExePath()
  {
    return _GetDefaultExePath(@"http\shell\open\command");
  }

  private static string GetDefaultMailerExePath()
  {
    return _GetDefaultExePath(@"mailto\shell\open\command");
  }

  private static string _GetDefaultExePath(string keyPath)
  {
    string path = "";

    // レジストリ・キーを開く
    // 「HKEY_CLASSES_ROOT\xxxxx\shell\open\command」
    RegistryKey rKey = Registry.ClassesRoot.OpenSubKey(keyPath);
    if (rKey != null)
    {
      // レジストリの値を取得する
      string command = (string)rKey.GetValue(String.Empty);
      if (command == null)
      {
        return path;
      }

      // 前後の余白を削る
      command = command.Trim();
      if (command.Length == 0)
      {
        return path;
      }

      // 「"」で始まる長いパス形式かどうかで処理を分ける
      if (command[0] == '"')
      {
        // 「"〜"」間の文字列を抽出
        int endIndex = command.IndexOf('"', 1);
        if (endIndex != -1)
        {
          // 抽出開始を「1」ずらす分、長さも「1」引く
          path = command.Substring(1, endIndex - 1);
        }
      }
      else
      {
        // 「(先頭)〜(スペース)」間の文字列を抽出
        int endIndex = command.IndexOf(' ');
        if (endIndex != -1)
        {
          path = command.Substring(0, endIndex);
        }
        else
        {
          path = command;
        }
      }
    }

    return path;
  }
}
「C#」に関する「本」の商品を自動的に表示しています。
キーワードに関連していない商品は、Amazonがオススメする商品です。気になる物があればどうぞ。

作成日:2008年06月04日(Wed) / 更新日:2008年11月23日(Sun)

Labs SYSTEM Ver0.93 @ Copyright(c)2007−2025 MOMOYA SYSTEM