気まま研究所ブログ

ITとバイク、思ったことをてきとーに書きます。

C#

C# 高速にフォアグラウンドのプロセス名を取得する

こんにちは。 最近バイクネタかWindowsネタばかりでしたが、今回はC#ネタを少し。 C#ではProcessクラスよりプロセス名の取得が簡単にできます。 しかしながら、プロセス取得は重い処理なため、取得頻度が多いとボトルネックになることがあります。 そこで今…

Moqでvoidメソッドをテストする

テストをちゃんとできるようにと思ってMoqを使って最近勉強しだしたものの、voidメソッドってどうやってテストすんだ・・・? となり、2時間ほど悩んだところなんとかできたのでその時の備忘録です。 テストはあまり勉強してこなかったのでもうちょっといい…

Roslyn CodeAnalysisでC#ソースの解析をしてみる

お久しぶりです。 多忙によりブログネタが全くできず、今まで放置状態でした。 さて、今日はVisual Studio 2015から導入されたRoslynコンパイラのAPIの一部で、C#ソースを解析するCodeAnalysisを使って解析を行ってみます。 大学の卒研で触ることがあったの…

レジストリハイブを読み込み値を操作する

Windows環境下のプログラムではしばしばレジストリを扱うことがあり、Win32APIでアクセスする手法が提供されています。 C#では汎用化されたクラスで提供されていて、レジストリへのアクセスは比較的容易です。 しかしながら、レジストリにはユーザが個別で外…

C# - グローバルキーフックでキーの捕捉と入力を行う

こんにちは、久しぶりにプログラミング関連のネタです。 以前MabinogiKeyConverterというアプリケーションを公開して記事にも適当に書いたのですが、そこで使用しているグローバルキーフックについて残しておきます。 C#では実行アプリケーション上でキーイ…

Xamarin Forms iOSだけでなぜかxmlnsが見つからないエラーが出る

こんにちは。 最近Xamarin Formsを触る機会があり、そこで謎のエラーで詰んだので備忘録的に残しておきます。 おそらく今回触れるライブラリ以外でもすべての外部ライブラリで出ると思います。

Savannah Manager Telnetサーバへ接続をする

こんにちは。 ブログではほとんどSavannah Managerについて触れてきませんでしたが、ちょっとずつ触れていきます。 今回から数回にかけてSavannah Managerの技術的情報を公開していきます。 一応公開する情報はSavannah Manager Libでも実装しているのでそち…

ウィンドウ透過と透過部分のイベント処理

TwitterをしているとTLでふと見かけたので備忘録。 Windownsフォームアプリケーションを作る際、背景を透過したくなることが稀にあります。 単純にTransparentを指定してもサポートされてない旨のメッセージとともに失敗します。

WOW64で起動した際に64bitレジストリへアクセスする

64bit OSにおいて、32bitビルドしたアプリケーションはWOW64を通して実行されます。 普通にプログラムを組んでる分にはさほど意識する必要はありませんが、レジストリを扱う場合少々面倒なことになります。 32bitアプリケーションを32bit OSで実行し、レジス…