C#

Cygwinでファイル名をフルパスでクリップボードにコピー

C#

Cygwinをメインに使っている場合、ファイルへのパスが実際の場所と違うのに困ることがある。たとえばファイルをメールソフトに添付するときとか。だいたいディレクトリは深くなるので、いちいちメーラで目的のディレクトリまで降りていくのは面倒だ。という…

Cygwinでsudoもどき

C#

Vistaを使ってると、たまに管理者権限じゃないと触れないファイルがあって鬱陶しい。そこで、Cygwin上でsudoもどきをやるためのコードを組んだ。引数のファイルをパスから探し、管理者権限で実行する。以下ソース。 using System; using System.IO; using Sy…

環境変数PATHを探す

C#

ファイル名を指定されたとき、環境変数PATHからフルファイル名を探したかったので、そういうコードを組んだ(linuxでいうところのwhich)。 System.Environment.GetEnvironmentVariable("Path")でPATHの文字列を取得し、splitで分割、foreachで探してExistsで…

ファイルサイズとタイムスタンプの取得

C#

C#でファイルサイズの取得にはFileInfo.Lengthを、タイムスタンプの取得にはGetLastWriteTimeを使う。 using System; using System.IO; public class dir { static void Main(){ string cdir = Directory.GetCurrentDirectory(); string[] files = Directory…

PaintBoxによる直接描画

前回はDataGridViewで表示していたが、自分の用途には多機能すぎる気がしたので、PaintBoxにより描画の面倒を自前で全部見ることにした。とりあえず表示だけならこんな感じ。DataGridView使うより楽な気がする。描画でSolidBrushとかをちゃんとdisposeすべき…

コンポーネントの覚書

C#

さっきのエントリは長くなったので、覚書をこっちに。 コンポーネントを親コンテナ全体に広げるには、Dockプロパティに、DockStyle.Fillをセット。 dgv.Dock = DockStyle.Fill; Colorオブジェクトを、HTML記法から作るのはColorTranslator.FromHtml DataGrid…

DataGridView

春Mのグリッド表示のためのコンポーネントを探していたのだが、DataGridViewで良いらしい。とりあえずDataGridViewを使って、春Mっぽい画面を作ってみる。データとか全部決めうちだが、だいぶ春Mっぽくなった。 DataGridViewは単に文字表示するだけに使う…

ShowInTaskbarとホットキー

春Mのまねして、ホットキーでタスクトレイに収まるようにしようとしたら失敗。タスクトレイに収めるためには、WindowStateをFormWindowState.Minimizedにして、ShowInTaskbarプロパティをfalseにするのだが、そうするとホットキーイベントが受け取れなくな…

トレイアイコン(NotifyIcon)

タスクトレイにアイコンを表示するサンプル。NotifyIconクラスを使う。同じディレクトリにtest.icoを置いておく。 using System; using System.Drawing; using System.Windows.Forms; namespace WinApp { public class TestForm : Form { NotifyIcon notifyi…

VistaでCygwinからC#コンパイル

Windows XPの場合は.bashrcに alias csc='/cygdrive/c/WINDOWS/MICROSOFT.NET/Framework/v2.0.50727/csc' と指定したが、Windows Vistaの場合は、以下のように指定する。 alias csc='/cygdrive/c/Windows/Microsoft.NET/Framework/v2.0.50727/csc.exe' 同じ…

ホットキーとイベントハンドラ

春Mに限らず、ファイラやランチャはホットキーで立ち上がってくれないと困る。ホットキー+キーボード操作でユーティリティーが起動できれば、ほぼ全部の操作がキーボードだけで済む。というわけで、ホットキーのサンプル。 using System; using System.Dra…

ウィンドウの作成

C#

なんかコンポーネントのテストとか、ウィンドウプログラミングもVisual Studioでやるのが面倒になってきたので、コマンドラインからWindowを出してみる。 using System; using System.Drawing; using System.Windows.Forms; namespace WinApp { public class…

ディレクトリとファイル一覧

春Mを作る第一歩、ファイルとディレクトリ一覧を取得しないといけない。そのサンプルコード。 using System; using System.IO; public class dir { static void Main(){ string cdir = Directory.GetCurrentDirectory(); string[] files = Directory.GetFil…

CygwinからC#コンパイル

いろいろテストするのにいちいちVisual Studio立ち上げてたら重くて仕方ないので、Cygwinからコマンドラインでコンパイルできるようにする。C#コンパイラはcsc.exe。うちの環境(Visual Studioデフォルトオプションでインストール)では、 C:\WINDOWS\MICROSOF…

ディレクトリとファイル一覧(パスなし)

Directory.GetFilesやGetDirectoriesから得られるフルパスからファイル名、ディレクトリ名だけを取り出さないといけない。そのためには、Path.GetFileNameメソッドを使う。ディレクトリでも使えるようだ。というわけで修正版。 using System; using System.I…