「DokanNet」の版間の差分
imported>Administrator |
imported>Administrator 細 (→DokanNetの使い方) |
||
11行目: | 11行目: | ||
== DokanNetの使い方 == | == DokanNetの使い方 == | ||
DokanOperationsインターフェイスを実装したクラスを作り、そのインスタンスをDokanNet.DokanMain静的メソッドの引数に渡してやるだけである。ビックリするくらい簡潔明瞭。 | DokanOperationsインターフェイスを実装したクラスを作り、そのインスタンスをDokanNet.DokanMain静的メソッドの引数に渡してやるだけである。ビックリするくらい簡潔明瞭。 | ||
+ | |||
+ | DokanMainは終了するまで制御を返さないので別スレッドに乗っけた方がよさそう。 | ||
実際に動かすには[[コンソールアプリ]]や[[WinForms]]で[[タスクトレイ]]に[[常駐]]するような[[アプリ]]を作るだけでよく、ちょっと頑張れば何でもできてしまう気がする。[[Windowsサービス]]にするのも手かもしれない。 | 実際に動かすには[[コンソールアプリ]]や[[WinForms]]で[[タスクトレイ]]に[[常駐]]するような[[アプリ]]を作るだけでよく、ちょっと頑張れば何でもできてしまう気がする。[[Windowsサービス]]にするのも手かもしれない。 |
2012年6月26日 (火) 00:59時点における版
DokanNet(どかんねっと)とは、Windows向けに独自のファイルシステムを簡単に作成できるライブラリであるDokanに付属する.NET Framework向けバインディングである。
MonoプロジェクトによるUNIX系OS向けのMono.FuseのWindows版とも言える存在であるが、あまりの簡潔明瞭さにDokanNetを利用した実装は数えきれないほど存在している模様。
DokanNetの利用にはDokanが必要であり、作成したプログラム(独自ファイルシステム)にDokanライブラリ(およびドライバー)を同梱する必要がある。
ライセンスは、DokanはLGPLおよびMIT ライセンス、DokanNetはMIT ライセンスとなっている。
DokanNetを使うとC#やF#などを用いて簡単に独自のファイルシステムを作ることができる。DokanNetに付属するC#のサンプルを見るとわかるが、DokanとC言語を使った場合に比べ、アホみたいにソースコードが簡潔明瞭になる。
目次
DokanNetの使い方
DokanOperationsインターフェイスを実装したクラスを作り、そのインスタンスをDokanNet.DokanMain静的メソッドの引数に渡してやるだけである。ビックリするくらい簡潔明瞭。
DokanMainは終了するまで制御を返さないので別スレッドに乗っけた方がよさそう。
実際に動かすにはコンソールアプリやWinFormsでタスクトレイに常駐するようなアプリを作るだけでよく、ちょっと頑張れば何でもできてしまう気がする。Windowsサービスにするのも手かもしれない。
DokanNetの実装例
DokanNetMirror
DokanNetMirrorはDokanNetに付属のサンプルプログラムである[1]。
RegistoryFS
RegistoryFSはDokanNetに付属のサンプルプログラムである[2]。
Dokan SSHFS
Dokan SSHFSはDokanNetを用いてDokanの中の人が作っているファイルシステムである[3]。本気モードでありサンプルプログラムではない。
Dokan SSHFSは、SSHでアクセスできる先のファイルシステムを、ローカルのドライブとしてマウントするプログラム。 Dokan SSHFSの開発にはDokanNetとSharpSSHが使われている。