読者です 読者をやめる 読者になる 読者になる

プログラミング

C#でフォームを非アクティブで最前面に表示する

今までフォームを最前面に表示するときはフォームのTopMostプロパティをtrueにして対応してきたが、全画面表示されるもの(ゲームやメディアプレイヤー)を起動した時に最前面表示ではなくなっていた。どうにかどんな時も最前面表示できないかと調べてみたら、…

CSSでフォントを変更しても適応されない

フォントのサイズを変更する(font-size:)と表示がちゃんと変更されるのに、フォントの種類を変更(font-family:)しても表示が変更されない。 その原因は

C# NumericUpDown ValueChanged でエラーが発生しない

NumericUpDownのValueChangedイベント内でエラーが発生しないことがある。 ValueChangedが発生する条件 違う値を入力した状態でエンターキー押下 違う値を入力した状態でフォーカスを他に移動 マウスホイールのスクロール 上下ボタンのクリック 他のイベント…

OpenCV k-means法で画像減色

ある画像で使われている色の数を減らしたいので、どういうのがあるか探していたら見つかったk-means法。クラスタリングの手法の一種。OpenCVを使えば簡単にできるっぽい。 k-means法について 非階層型クラスタリング手法の1つ。クラスタの平均を用い、与えら…

C++Builder6のtry内でreturnすると__finallyにいく前にローカルのAnsiStringが解放される

AnsiString string = "message"; try{ return; }__finally{ ShowMessage(string); } 結果 stringがnullになっていてメッセージは表示されない。 グローバル変数なら問題なし。知らなかったーよ。

C#でバイナリファイルをバイト配列に読み込む

using System.IO; public byte[] LoadBinary(string path) { byte[] loadData; using(FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read)){ loadData = new byte[fileStream.Length]; fileStream.Read(loadData , 0, loadData .…

C# 自分自身のバージョンを取得する

バージョンの取得 System.Diagnostics.FileVersionInfo ver = System.Diagnostics.FileVersionInfo.GetVersionInfo( System.Reflection.Assembly.GetExecutingAssembly().Location); string version = ver.FileVersion;他にもAssemblyInfo.csに設定されてい…

C#でオブジェクトをバイナリファイルに保存、読み込む

忘れないようにメモメモ。 バイナリファイルから読み込む using System.IO; using System.Runtime.Serialization.Formatters.Binary; public object LoadBinary(string path) { // ファイルストリームの作成 FileStream fileStream = new FileStream(path, F…

C#でコマンドライン引数を取得する

やり方が2種類あります。 Enviromentを使用する方法 //コマンドライン引数の表示 MessageBox.Show(System.Environment.CommandLine); //コマンドラインを配列で取得する string[] cmds = System.Environment.GetCommandLineArgs(); //コマンドライン引数の表…

C#で外部アプリケーションを起動する

C#でのやり方がわからなかったので、とりあえずやってみた。 実行 using System.Diagnostics; private void Start(string exeName) { // アプリケーションの実行 Process.Start(exeName); // パラメータ、オプションを渡すには // Process.Start(exeName, "…

boost::cpu_timer で時間計測

boost::cpu_timerを使えばナノ秒単位の取得ができる!らしいので試してみた。 OS:windows7 64bit CPU:Core2Duo 3GHz こんなコード boost::timer::auto_cpu_timer timer; boost::timer::nanosecond_type times[100]; for(int i = 0; i < 100; i++){ timer.sta…

逆コンパイル

.Net用の逆コンパイルツールには「.NET Reflector」や「ILSpy」などがあり、これを使う事でexeファイルやdllファイルからソースコードを読み取れてしまう。 使ってみたところ、完全に復元できる訳ではないみたいだけど、だいたいは合っている。以下のソース(…