Office のリボンメニューが使いにくい人向け : リボンメニューの項目をカスタマイズする

みむらです。

「リボンが使いにくい」ということで
こういうこともできるよ! ということを示したところ、これいいじゃん!
と言うことになりましたので、
Office のリボンが使いにくい! と思う人向けに。

ちなみに、リボンメニューというのは、
Word や Excel などの Office 製品を立ち上げたときの画面上部にある、
オレンジ色で括った、この部分のことです。

image

 

これをいじって、

image

こんな感じのメニューにしてみよう、という話です。

 

なお、画像はすべて Word 2013 となりますが、Word 2010 でも確認しており、
また
Word 以外の Excel, PowerPoint, Outlook 等の Office 製品でも同様の操作は
可能であることを確認しています。

・・・なお、追加作業が面倒くさい、という方向けに Word 2013 用の設定ファイルを作成しました。
記事の最後にて公開しています。

続きを読む

IL でアセンブラ短歌

「アセンブラ短歌」は
五・七・五・七・七の三十一バイト(みそひとバイト)から成る機械語コードで
プログラムを書いてみるという近未来の文化的趣味であり,
近年, 国内のハッカー間で密かなブームが起きています.

http://kozos.jp/asm-tanka/

みむらです。
そんなわけで、詠んでみました。

.assembly extern mscorlib {}
.assembly tanka {}

.method static void Main() cil managed {
	.entrypoint
	.locals init(unsigned int32)
	ldc.i4 0x9369464A
	stloc.0
Write:
	ldloc.0
	ldc.i4.m1
	ldc.i4.8
	shl
	not
	and
	ldc.i4 0x3000
	add
	call void [mscorlib]System.Console::Write(char)
	ldloc.0
	ldc.i4.8
	shr.un
	stloc.0
	ldloc.0
	brtrue.s Write
	ret
}

コンパイルするとこんな感じ。

20 4A 46 69 93

0A 06 15 1E 62 66 5F

20 00 30 00 00

58 28 01 00 00 0A 06

1E 64 0A 06 2D E8 2A

解説としては次のような感じになります:

20 4A 46 69 93 ldc.i4   0x9369464A
0A 06 15 1E 62 66 5F stloc.0

ldloc.0

ldc.i4.m1

ldc.i4.8

shl

not

and

20 00 30 00 00 ldc.i4   0x3000
58 28 01 00 00 0A 06 add

call     void [mscorlib]System.Console::Write(char)

ldloc.0

1E 64 0A 06 2D E8 2A ldc.i4.8

shr.un

stloc.0

ldloc.0

brtrue.s Write

ret

0x9369464A を入れて

1バイトごと切り出して、

0x3000 を入れて、

加算して Unicode 文字として出力

ビットシフトしたのち、 NULL なら ret して終了。

というような感じです。

 

IDA Pro でフロー表示するとこんな感じ

image

まだまだ荒削り感がものすごいのですが、

短歌の字数になっていて、かつ 5文字部分は値代入になっています。

きっちり文字を出した後は ret して終了していて、プログラム的にはきれいかも。

でも、バイトコードとしてみたときに美しいかというと、うーん。

 

 

ちなみに、実行結果はこの通り。

image

 

・・・まぁ、香川ですし。

もう少し美しい短歌を詠みたいですね。

2週間の強行スケジュールいくない

どうもみむらです。
ここ2週間ほど各地に飛び回っていました。

今回の予定は次の通りでした。

10/11-12 : 情報セキュリティワークショップ in 越後湯沢
10/13 : 某所
10/13 : マレーシアへ移動
10/14 – 10/18 : hack in the box (クアラルンプール)
10/19 : 帰国
10/19 : 高松へ移動
10/20 : SECCON CTF (wasamusume)
10/21 – 23 : MWS Cup / MWS / CSS
10/24 : ASF
10/24 : 帰宅

いくら若いとはいえ、MWS あたりで疲れと若干の体調不良を感じていました。
やっぱり、休みをほとんど入れずに各地に行くのは良くないです。

とりあえず、以下感想です。
(今回は技術系の話は一切出てこないと思います。)

続きを読む

Visual Studio の C++ プロジェクトでフィルタではなくフォルダを使う

お久しぶりです。みむらです。

なんだかんだ書きたいことは多々あるのですが、
書く気力と時間がどうしても・・。ごめんなさい。

 

さてさて。

image

なんだかんだで Visual Studio で C++ を用いたプログラムを書くことが多々ありまして、
その関係で一つ。

右側(Express 版だと左側の方が多いかも・・。)
にあるソリューションエクスプローラにおいて、
フォルダを追加しようと右クリックメニューの追加を見に行っても、

image

「新しいフィルター」となっており、フォルダの作成メニューではありません。
このときに、フィルタではなくフォルダを作って管理したい時にどうすればいいかという話です。

 


1.「すべてのファイルを表示」ボタンをクリックします。

image

なお、クリックすると下に示すように、
フィルタによる表示ではなくなり、ファイルツリーでの表示になります。

image

 

2.フォルダを作ります。

image

先ほどの「新しいフィルター」のメニューが、「新しいフォルダー」に変わります。


私自身は普段フィルタを使って作業していますが、
何となくフォルダでやってみたくなりまして調べてみて、
なかなか見つからなかったのでメモしました。

ソフトウェアからタッチ入力を行う ( SendInput のタッチ版をする場合のメモ )

メモです。

http://msdn.microsoft.com/en-us/library/windows/desktop/hh802899(v=vs.85).aspx

入力を行う場合、

InjectTouchInput 関数
http://msdn.microsoft.com/en-us/library/windows/desktop/hh802881(v=vs.85).aspx

を用いて入力を行うようです。

 

また、こちらのサイトに非常にわかりやすいサンプルを見つけました。
http://www.naturalsoftware.jp/blog/8185