ファイルの絶対パスをクリップボードにコピーしたかった

例えば 「デスクトップにあるファイルの絶対パスが必要だ!!」 なんて時があります。
右クリック / プロパティ画面あたりから、さくっとクリップボードにコピーできればいいのですが、Winodws 標準じゃそんな機能はありません。(Vista からは付いたようです


絶対同じ思いをしてる人おるだろーってことで、ツールを探してみた所 存在した ので導入してみたのですが、右クリック時の動作が重くなってしまったので残念ながら不採用にさせていただきました。^^;


じゃぁ、


作ってしまえ!


どう作ろう

私の要件としては

  • 右クリックメニューあたりからサクッとコピーしたい。
  • 利用時は時々

なので「送る」メニューにショートカットを登録して云々の形にすることにしました。ってか、シェルエクステンションの作り方なんてわかるかこんちくしょう。(ぉ

で、肝心のプログラムをどうするか。

VC

即却下

こんな小物を作るだけで30分なんて作業時間かけてられんわ!


WSH

処理速度なんて全く関係ないので、スクリプトでサクサクっと書いてしまえー … と思ったら、WSH って クリップボード操作用のオブジェクトって持ってないんですね。orz

IEオブジェクトを生成しそれ経由で操作は出来るようですが… なんか面倒な事になりそうだったので却下。

C#

じゃぁ、C# ですよ。ってことで、調べて書いてみたところこんなコードに。

using System;
using System.Windows.Forms;

static class Program
{
	/// <summary>
	/// アプリケーションのメイン エントリ ポイントです。
	/// </summary>
	[STAThread]
	static void Main()
	{
		string[] a = Environment.GetCommandLineArgs();
		if (a.Length >= 2)
			Clipboard.SetText(a[1]);
	}
}

書いたのは Main の中の3行だけ! すげー C# すげー。 .NET すげー。フレームワークの構成しらない私でも、調査含めて5分も立たないうちに書けちゃいました。

C# はやっぱり便利だと再認識しました。