[C#] 二重起動を禁止する[C#] 二重起動を禁止する
[STAThread] static void Main() { System.Threading.Mutex mutex = new System.Threading.Mutex(false, "Pulse"); if […]
[STAThread] static void Main() { System.Threading.Mutex mutex = new System.Threading.Mutex(false, "Pulse"); if […]
DateTime now = DateTime.Now; Debug.WriteLine(now.ToString("yyyy-MM-dd HH:mm:ss")); 参考サイト C# – 日付・時刻 (Dat […]
string iniFile = ""; private void SetIniFileName() { string path = Application.ExecutablePath; string dir = Pa […]
Dapperを使いたかったんだけど、案件のターゲットがWindows XPということで使えない (Dapperは.NET 4.5ベースだけど、Windows XPは.NET 3.5までしかサポートしないため)。 [C#] […]
ファイルの属性がReparsePointだとシンボリックリンクらしい。 using System.IO; FileAttributes fa = File.GetAttributes(dialog.FileName); […]
デバイスマネージャに一覧されているシリアルポートを取得したい。 サンプルコード ポート名だけならSystem.IO.Portsを使うと簡単。 using System.IO.Ports; string[] ports = […]
LinkLabelコンポーネントが使える。見栄えはクリッカブルリンクに見えるけど、クリックされた時の振る舞いは自前で実装する必要がある。 サンプルコード using System.Diagnostics; private […]
コマンドプロンプトで実行される外部プログラムをバッチで繰り返し実行したい。だけど、実行中は別の作業を行いたいので、外部プログラムが実行されるたび新しいウィンドウが開いてフォーカスが奪われるのはいただけない。 別ウィンドウ […]
MS-Accessのデータベースを操作する簡単なアプリをC#で書きたい。なぜC#なのかというと、自分はC#に慣れているから。たぶんVBのほうがサンプルはいろいろありそうだけど、VBはほとんどやったことが無いので。 .NE […]
ラプラシアンフィルタを使ったコンボリューション (畳み込み演算) 行うことで、手っ取り早く画面のシャープネスを強調することができる。 ラプラシアンフィルタに関しては以下ページがわかりやすい。 フィルター処理 http:/ […]
ImageAttributesクラスには、ガンマ値を指定して画像を補正する機能がある。 public void SetGamma(float gamma) gamma パラメーターは通常、1.0 ~ 2.2 の範囲の値で […]
画像のコントラストを調整するには、ヒストグラムを圧縮したり伸張すれば良いように思う。 ColorMatroxを使うのならば、入力対出力の線形特性の傾きを変化させてやればよい。しかし、係数をうまく調整しないと、少しの変化で […]
画像の輝度調整するには、RGBを一律に加減すればよい。 R = R + delta G = G + delta B = B + delta ここで、deltaは-1.0~1.0の実数である。 ColorMatrixを使っ […]
RGBをグレースケール化するにはNTSC加重平均法が使われることが多い。この方法を使うと、輝度(Y)は以下のように算出できる。 Y = ( 0.298912 * R + 0.586611 * G + 0.114478 * […]
システム関係のWindows APIを呼ぶ方法もあるが、shutdown.exeを使うと楽。shutdown.exeはWindows XP以降に含まれているらしい。 Shutdown http://technet.mic […]
基本的にC#ではポインタは使えない。unsafeコードとして記述すればポインタも使えるが、バグを生む危険性が高まるのでよほど必要でない限りはポインタは使わないほうが望ましい。しかしC++の癖で、2つのインスタンスが同じか […]
多次元配列の確保する方法。 配列の確保 int[,] array = new int[4, 2]; int[, ,] array1 = new int[4, 2, 3]; 配列の初期化 // Two-dimensiona […]
C#だと配列よりもListやDirectoryなどのコレクションクラスを使うことが圧倒的に多いけど、それでもいまだ配列を使いたいシチュエーションは少なからずある。 というわけで、配列を初期化する方法を覚え書き。 // S […]
時間が掛かる処理では進行況を表示して、かつ、処理を中断できるようにしたほうがいい。 以下、進行状況ダイアログを表示するサンプル。これをたたき台にして、ダイアログに進行状況を示すメッセージやプログレスバーなどを追加しよう。 […]
連想配列を使って英文中の単語の出現回数をカウントするサンプル。 Dictionary<string, int> dict = new Dictionary<string, int>(); stri […]