Windows

64-bit 版 SendSignal

SendSignal の 64bit 版を作成したので、公開します。 上記 32-bit 版と同様にお使いいただけます(ただし、64-bit 版ですので、64-bit プロセスに対してのみ使用可能です)。 使用例(pid に Ctrl+Break を送信): SendSignal64 pid ただ、引数を一つ追加…

Windows サービスプログラムからユーザプログラムを実行する方法 - その2

Windows サービスプログラムからユーザプログラムを実行する方法 の続きです。 前回は winlogon.exe のトークンを元にプロセスを起動させましたが、今回はログオンユーザのリンクトークン(自身の制限されたトークンに紐付く管理者トークン)を元に、ログオ…

yamy シンボリックリンク

yamy 0.03 は、.mayu, .emacsedit.mayu 等がシンボリックリンクの場合ファイルを読み込めませんが、これを読み込めるように修正しました。 yamy-003.zip このソフトウェアを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかね…

ビジュアルスタイルの適用方法

今更ですが,XPスタイルの適用方法について自分が知っていることをまとめようと思います. XPスタイルを適用するには,主に次の二つの方法があります. manifest ファイルを自身で作成し,埋め込む. manifest を pragma で埋め込む. manifest ファイルを自…

Windows サービスプログラムからユーザプログラムを実行する方法

今回は Windows の Service からプログラムを起動する方法を紹介します.Vista 以降ではサービスからユーザセッションにプログラムを実行するには CreateProcessWithLogonW を使用しますが,ここでは指定したプロセスのトークンを複製して CreateProcessAsUs…

Windows のエラー文字列の取得

今回は Windows の GetLastError() などが返すシステムエラーコードに対応するエラー文字列を返す関数を作成します. エラー文字列は例えば C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include などにある WinError.h というファイルに書かれているので…

eclipse で yamy の C-k が効かない問題

表題の通り,yamy では(というより窓使いの憂鬱の時代から)eclipse で C-k(kill-line) が機能しません. これは emacsedit.mayu の keyseq $EmacsEdit/kill-line = &EmacsEditKillLineFunc S-End C-X \ &Sync &EmacsEditKillLinePred((Delete), (Return Le…

Microsoft Visual C++ 2010 ディレクトリの設定方法

VC++ 2010 からはツール→オプション→プロジェクトおよびソリューション→VC++ ディレクトリ(GUI)でのグローバルなパスの設定が非推奨となりました. 代わりに,VC2010 では次のようにしてグローバルなパスを設定をします(VC++ ディレクトリが、オプションダ…

OpenCV 2.0.0a をランタイムライブラリをスタティックリンク(/MT, /MTd)でビルドする方法

OpenCV 2.0 では CMake を使って自分でビルドしますが,デフォルトではランタイムライブラリにダイナミックリンク(/MD, MDd)するようになっています. これをスタティックリンクに変更するには以下のようにします. CMake の設定で CMAKE_CXX_FLAGS_DEBUG と…

ublas::vector, ublas::matrix や OpenCV の CvMat を Visual Studio のデバッグウィンドウに表示する方法

boost.vector や boost.matrix, OpenCV の CvMat, IplImage, Vec, Mat は非常に便利ですが,一つ残念な事があります. それは Visual C++ の“自動変数”や“ローカル”,“ウォッチ”ウィンドウ等にベクトルや行列の要素ではなく,そのクラスのメンバ変数が表示さ…

GSL - GNU Scientific Library を Windows Microsoft Visual Studio で使う方法

今回は GSL と呼ばれるライブラリを Windows の VC++ 環境で使えるようにする方法について説明していこうと思います. 環境としては Windows Vista, XP, Visual C++ 2008, 2005 を想定しています.これ以外の環境では以下で説明する手順ではうまくいかない場…

PolyViewer による3次元図形の表示

研究室のツールとして,3次元空間中に点列やその他の図形を作図したり,アニメーションを保存し簡単に動画にできる単純なプログラムを作成したので紹介します. 作成した動機 Python や Ruby などのスクリプト言語から手軽に OpenGL を通したプログラムが書…