« 続:Google Deskbarで遊んでみる | メイン | Google Deskbarのプラグイン 第二弾 »

2004年12月30日 (木)

続々:Google Deskbarで遊んでみる



 二回ほど続いているこのシリーズ記事ですが、今回のは私的にちょっと使えるツールです。

 まずはC#のコードから。例によって、整形のためTabは全角スペースにしてあります。


using System;
using System.IO;
using System.Reflection;
using System.Diagnostics;
using Google.Desktop;

namespace gmemolite
{
 /// <summary>
 /// gmEditorクラスはGmemoliteの各種動作周り
 /// </summary>
 public class gmEditor
 {
  public static string pathf()
  {
   //pluginがあるパスを取り出す
   Assembly myAssembly = Assembly.GetExecutingAssembly();
   string path = myAssembly.Location;
   //パスの拡張子部分を置換して、メモファイルまでのパスにする
   return path.Replace(".dll",".txt");
  }

  //通常の書き込み時の動作
  //メモファイルに追記する。ファイルが存在しない場合は新規作成。
  //メモファイルの文字コードはUTF-8。
  public static string gmWrite(string query)
  {
   string txtpath = pathf();

   //メモファイルを開く
   StreamWriter sw = new StreamWriter(txtpath, true);
   //時刻を取得する
   string nowtime = DateTime.Now.ToString();
   //queryの内容を書き込む
   sw.WriteLine("[" + nowtime + "] " + query);
   //閉じる
   sw.Close();

   return query = "書き込みました";
  }

  //gmedit入力時の動作
  //メモファイルを、txt形式に関連づけられたプロセスで起動する。
  public static string gmEdit()
  {
   string txtpath =gmEditor.pathf();
   try
   {
    Process p = Process.Start(txtpath);
    return "メモを開きます";
   }
   catch
   {
    return "メモを開けませんでした";
   }
  }
 }
 /// <summary>
 /// gmemolite の概要の説明です。
 /// </summary>
 public class gmemolite : ICustomSearch
 {
  public string Title()
  {
   return "Gメモ";
  }

  public OutputType GetOutputType()
  {
   return OutputType.kDeskbar;
  }

  public string Run(string query, OutputType browser_type)
  {
   //結果を入れる変数宣言
   string kekka = "";
   //if文で分岐
   if(query == "gmedit")
   {
    kekka = gmEditor.gmEdit();
   }
//   else if(query == "gmview")
//   {
//
//   }
   else
   {
    kekka = gmEditor.gmWrite(query);
   }
   return kekka;
  }
 }
}


 これで、簡易メモ帳になります。Google Deskbarに保存したい内容を入力して、メニューからプラグインを選択すると、pluginフォルダに作られたテキスト形式のメモファイル(固定)に日付・時刻付きで追記されていきます。

 記録したファイルを開いてみたいときは、「gmedit」と入力してプラグインを選択すると、拡張子.txtに関連づけられたアプリでメモファイルが開きます。

 #ただし、文字コードはUTF-8です。

 急な電話やブラウズ中のちょっとしたメモなどに使えるかな、と思いましたが、碧はURLのメモに使っています。今後、直近の数件のメモ内容がDeskbarで見れる機能や、メモファイルを一旦全て消す機能など追加すると良さそうですね。別名でメモファイルを保存する機能なんかもよさそうです。



トラックバック

このページのトラックバックURL:
http://www.typepad.jp/t/trackback/6878216

このページへのトラックバック一覧 続々:Google Deskbarで遊んでみる:

コメント

コメントを投稿