Visual Studio 2010 の最近使ったプロジェクトをすべて消す

ちょっと画面キャプチャ時のTips、というか自分用のメモ書き。

Visual Studio 2010のスタート画面をキャプチャするときに、「最近使ったプロジェクト」が、うっとおしい(というか消さないとダメ)な時は、レジストリを弄ります。

20100731_05.jpg

なように、

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\ProjectMRUList 配下の File* のキーをごっそり消します。

すると、

20100731_06.jpg

な風に、最近使ったプロジェクトのリストがごっそり消えます。

Visual Studio 2008 なども同様。

 

カテゴリー: 開発 | 2件のコメント

つい読みブラウザが、勝手に機能UP

つい読みブラウザ(TwiNetReader)が、今朝ほど勝手に機能アップしました。

何故、「勝手に」かというと、

20100731_04.jpg

ほら、こんな感じに、似たユーザー検索がッ!!!

しかし、何故に「いしかわじゅん」なんでしょうね?

ちなみに、「狂風記」が手元にありますね、え?石川淳違い?

カテゴリー: 開発 | つい読みブラウザが、勝手に機能UP はコメントを受け付けていません

サービスのインストールは管理者モードで

ちと、ハマったのでメモ書きです。

.NET Framework を使うと Windows Service を簡単に書けます。

というか、ほとんど Windows アプリケーションのようにサービスを作るプロジェクトが、Visual Studio 2008/2010にはあります。

20100731_02.jpg

で、さっくりとサンプルを作ってインストールします。

インストールは、コマンドプロンプトで installutil.exe ってのを動かします。

標準のプロンプトでなくて、Visual Studio Tools に入っているプロンプトを使います。これを使うと開発環境用の path があらかじめ設定されます。

で、サービスをインストールする場合は、

installutil serv506.exe

のようにインストールする訳ですが、 何故か、System.Security.SecurityException: のエラーを出して失敗する。

何故か?

どうやら、コマンドプロンプトを管理者モードで動かさないと駄目なんすね。

そんな訳で、管理者モードでプロンプトを開いて無事インストール。

アンインストールは

installutil /u serv506.exe

な風にスイッチを使ってアンインストール。

そこで、ちょっと、

20100731_01.jpg

「アンインストール完了しました」。。。噛んでます、思いっきり(笑)。

 

 

カテゴリー: 開発 | サービスのインストールは管理者モードで はコメントを受け付けていません

WebBrowserで、内部のDOMを扱う DomElement プロパティ

気晴らしに TwiNetReader を開発していますが、

20100729_05.jpg

上記のように、テキストボックスも消すことができました。

ええ、これで、晴れて「つい読み専用」ということで。

# 実は「返信」ボタンをクリックした時に、現れるという仕組みを入れています。

暫く、自分で使ってから公開しますが、ノウハウの部分をちょとだけ。

右上の広告を消すのは、こんなソースです。

      HtmlDocument doc = webBrowser1.Document;
      // 広告を消す
      el = doc.GetElementById(“side_ad_base”);
      el.Style = “display: none”;

ブラウザの Document プロパティを取得して、GetElementById メソッドで拾ってきて、スタイルを設定するだけ。

これをブラウザのCompleted イベントの中に入れればOKです。

さらに、昔の HTML DOM を知っている人ならば、ネイティブの DOM を扱いたいわけで、この場合は、「mshtml.IHTMLElement」を使います。

HtmlElement.DomElement プロパティ (System.Windows.Forms)
http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=JA-JP&k=k(SYSTEM.WINDOWS.FORMS.HTMLELEMENT.DOMELEMENT);k(TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3dV4.0%22);k(DevLang-CSHARP)&rd=true

使い方は、

  1. 「mshtml.tlb」 を参照設定する( mshtml.dll ではない)
  2. mshtml.IHTMLElement i = doc.DomElement as mshtml.IHTMLElement;
    な感じでキャストすればOK。

あとは、旧来のHTML DOM として扱えます。

これ、何故使うのかというと、なぜか .NET の DOM だと class 名が取れません。

なので、DomElement から、ClassName を参照しないといけないという、、、何故なんでしょうね?

そんな訳で、ツイートのテキストボックスを一括で消すように

foreach (HtmlElement item in doc.GetElementsByTagName(“fieldset”))
{
 mshtml.IHTMLElement i = item.DomElement as mshtml.IHTMLElement;
 if ( i.className == “common-form standard-form” ) {
  el_input =item;
  el_input.Style = “display: none;”;
  break;
 }
}

な、ソースを書いています。

el_input は、再表示するために保存しているのです。

 

カテゴリー: 開発 | WebBrowserで、内部のDOMを扱う DomElement プロパティ はコメントを受け付けていません

NewQXエディタのキーカスタマイズメモ

NewQX を、2週間ほど使っているのですが、実にいいです。

カラーリングを変更して、常駐リストその他を消して、Visual Studio 風に使っています。

20100729_02.jpg

色設定なんかは、

Moonmile Solutions Blog » NewQXの色替えをしましたよ

http://www.moonmile.net/blog/archives/1044

を参考にしてください。

さて、エディタを使うときに、編集作業にマウスを使う人と、キーボードを使う人がいると思うのですが、私は主にキーボード派です。emacs 愛用者ということもあって、ファンクションキーよりも、Ctrlなんとかのキーを使います。

NewQXやQX32のキー定義は、「qxKey.ini」というファイルに定義されていて、こんな感じで直接編集できます。

20100729_03.jpg

GUI でできるマクロがあったような気がするのですが、見つけたら追記しておきますね。

さて、私が変更しているショートカットは、

  • マークの設定/解除 MarkToggle
  • 次のウィンドウへ WindowChange
  • 次のペインへ WindowNextPane

CTRL  SPACE = MarkToggle

CTRL  DOWN = WindowChange

CTRL  UP = WindowNextPane

マークの設定は、F2 に割り当てられているのですが、ちと、遠いので、Ctrl + Space に割り当てます。

次のウインドウも、F11 で可能なのですが、ちと、遠いので、Ctrl + ↓キーです。

# 本当は、Ctrl + PageDown にしたいんだけど、SCROLL の指定が効かないっぽい。

# 後で、ML に投げます。

次のペインというのは、画面分割のことですね。

こんな風に、Word のように分割ができます。

20100729_04.jpg

QX32の場合は、新しいウィンドウを開いて並べて表示させていたのですが、NewQX は、元から分割のモードがあります。

これを「ペイン」という呼び方をするのですが、これを行き来するときに、Ctrl + ↑キー で移動できるようにします。

# ちなみに、タスクバーが、Windows 2000(古ッ!!!)風なんですが、OS は Windows 7 で、UI だけ変えています。

# このほうが、落ち着いて原稿、コーディングができるので、このスタイルです。

皆さんもお試しあれ。

追記 2010/07/30

PageUp が PRIOR、PageDown が NEXT と分かったので、

CTRL  PRIOR = WindowNextPane
CTRL  NEXT = WindowChange

で、Ctrl + PageDown でウィンドウの切り替えができますね。

 

カテゴリー: QXエディタ | NewQXエディタのキーカスタマイズメモ はコメントを受け付けていません

GNUstepでobjective-cを学ぶの続き

最初に書いたのが、2010年2月、ってことで随分前になってしまいましたが。

ちと、mac mini 購入の資金も溜まったし、仕事部屋も構築したし、あとは、手元のお仕事をちゃっちゃと片付けて、iPad用のアプリを作りたいということで。

ちと、目次だけ作成します。

Moonmile Solutions Blog » GNUstepでobjective-cを学ぶ(1)
http://www.moonmile.net/blog/archives/595

Moonmile Solutions Blog » GNUstepでobjective-cを学ぶ(2)
http://www.moonmile.net/blog/archives/597

Moonmile Solutions Blog » GNUstepでobjective-cを学ぶ(3)
http://www.moonmile.net/blog/archives/599

Moonmile Solutions Blog » GNUstepでobjective-cを学ぶ(4)
http://www.moonmile.net/blog/archives/613

ここまで。

実際のiPadアプリを作るときは、cocoa ライブラリを使わないといけないし、mac 上で開発することになるので、手元に mac mini がないとどうしようもないので。

# それ用に書籍は買いましたが。

iPadのアプリであっても、ビューとロジックの分離は可能なはずなので、

  • ロジック部分を objective-c で書いていく。
  • ビューの部分を mac mini を使って書いていく。

という勉強の流れになるかなと。

GNUstepでobjective-cを学ぶ(4) では、インターフェースと継承、メソッドを後付けできることが分かったので、具体的に何か単独のアプリを作るといいですね。

UIは外してしまって、コマンドライン系のアプリか、ゲームロジックなんか。

ちょっと思案中。

 

 

カテゴリー: 開発 | GNUstepでobjective-cを学ぶの続き はコメントを受け付けていません

WPFのアクセスキー制御

アクセスキーというのは、いわゆる、ALT+なんとかキーで、メニューに飛ぶアレです。

Windows Form で作ったメニューの場合は、「ファイル(&F)」な感じで、「&」を付けるのですが、

WPFの場合には、「ファイル(_F)」な感じで「_」(アンダーバー)を付けます。

WPFでのメニューアクセスキー
http://blogs.wankuma.com/yo/archive/2008/02/05/121155.aspx

アンダーバーに変わっているのは、多分 XAML でアンパサンド(&)を使うと、記述的に困難だからでしょうね。

なので、メニューにアンダーバーが使えない、という弊害があるわけですが。

# __ のようにアンダーバーを重ねるといける?

さて、問題は、メニューが無いときです。

20100728_03.jpg

ツイート専用ツールの場合、メニューを付けるのは嫌だし、ショートカットの記号(ツイート(S))を付けるのも嫌だし。

というわけで、

AccessKeyManager クラス (System.Windows.Input)
http://msdn.microsoft.com/ja-jp/library/system.windows.input.accesskeymanager.aspx

を使います。

XAMLのほうに、

<Grid AccessKeyManager.AccessKeyPressed=”Grid_AccessKeyPressed”

として、アクセスキーのハンドラを設定しておいて、次な感じで、Key で振り分けます。

 

/// <summary>
/// アクセスキー制御
/// </summary>
/// <param name=”sender”></param>
/// <param name=”e”></param>
private void textBox1_AccessKeyPressed(object sender, AccessKeyPressedEventArgs e)
{
 switch ( e.Key ) {
  case “S” :
   if ( textBox1.Text.Length != 0 ) {
    button1_Click( sender, null );
   }
   break;
  case “B”:
   button2_Click( sender, null );
   break;
  case “D”:
   buttonDel_Click(sender, null );
   break;
 }
}

Key 自体は、「ALT+キー」で押される、アルファベットの大文字(なぜか文字列)で渡されるので、それを指定します。

上記の例では、

  • ALT+S で、ツイート
  • ALT+B で、短縮URL
  • ALT+D で、ひとつ削除

って具合です。

 

 

カテゴリー: 開発 | WPFのアクセスキー制御 はコメントを受け付けていません

公式ツイッターをフル活用 TwiNetReader ver.0.1 公開

お待たせいたしましたッ!!!

ええ、誰も待っていません。つーか、忙しい時の逃避行動です orz  

公式ツイッターをフル活用 TwiNetReader ver.0.1

 20100727_06.jpg

突っ込みどころは、いっぱいあると思いますが…ひとまず公開。

フォントはおなじみの「江戸勘亭流P」ですね。

# ver.0.2 では、フォントを変えられるようにしますか。

 

カテゴリー: 開発, ツール | 公式ツイッターをフル活用 TwiNetReader ver.0.1 公開 はコメントを受け付けていません

公式ツイッターをフル活用 TwiNetReader (準備中)

TwiNetPost が投稿専用なので、読み取り専用ツールを作ろうかと思って。

.NET Framework には WebBrowser というものがあって、結構便利です。

だから、ほら、こんなに簡単に読み取り専用ツールがッ!!!

20100727_01.jpg

え?中身が公式ツイッターにそっくりだって?

いえいえ、良く見てください、右上の広告がありません。

20100727_02.jpg

もう少しマシにしたら、公開します。ついでに、投稿もできちゃうのは内緒です。

# 実は、名前のリンク(@moonmileなど)のところをクリックするとスクリプトエラーになるんですよね。
# ツイートにあるリンクもエラーになる。他のリンクは大丈夫なんですが。何故なんだろう?
# このエラーが取れたら、公開します。

20100727_03.jpg

 

カテゴリー: 開発 | 公式ツイッターをフル活用 TwiNetReader (準備中) はコメントを受け付けていません

クリップボード履歴 QTClip

10年以上前から、ずっと使い続けているソフトがクリップボード履歴 QTClip です。

クリップボード履歴 QTClip
http://www2k.biglobe.ne.jp/~araken/qtclip.htm

20100726_04.jpg

もっと、良いソフトがあるのか無いのか、よくわからないのですが、私の使い方だとこれで十分なのです。

主な使い方としては、

  • 複数の履歴を持つ。
  • 履歴は、テキストで十分。
  • ショートカットキーで履歴ページが起動
  • あるフォーマットで、日付を挿入(2010/07/26あるいは、20100726とか)
  • 小さなランチャーとして使える。

な、ところですね。

何故、こんなに長く使っているかを少し説明すると、

  • 複数の履歴を持つ。

は、クリップボード履歴ツールの必須機能なので、これは必要なのですが、

  • 履歴は、テキストで十分。

これがクリアできてないと、リッチテキストエディタや、画像ツールとの組み合わせで変なことになるのです。

便利なのが、テキスト形式しかできないという弱点はありますが、ひっくり返すと、一発でテキスト形式に変換されるのです。

そうですね、Wordのコピー機能を使うと書式もコピーされてしまうので、「形式をなんちゃら」で貼り付けるわけですが、これが、QTClip だと、なまじHTML形式やらRTF形式対応していないので、テキスト形式で張り付けられちゃう。これが、かえって便利です。

  • ショートカットキーで履歴ページが起動

一時期、WordやExcelで過去のクリップボード履歴が表示されるものがありましたが、あれはちょっと不便。常にクリップボードが表示されるというのは、文章書きに集中できないのです。なので、一定のショートカットで呼び出すのがいいのです。

  • あるフォーマットで、日付を挿入(2010/07/26あるいは、20100726とか)
  • 小さなランチャーとして使える。

エディタ自体に、フォーマットを埋め込むマクロがあったり、小さ目のランチャーソフトもあったりするのですが、エディタの外側にこの機能があるとちょっと便利です。

ちょっと前まで

  • EmEditor + QTClip
  • sakura エディタ + QTClip

の組み合わせで使っていることもありました。

そうすると、エディタのマクロ機能を使って、というよりも、自前の QTClip で貼り付けをして、ってほうが楽だったりするのですよ。複雑な変換は、perl スクリプトを組むのが常なので、ちょこっとしたもので OK。

 改行だけの行は無視される
 – だけの行はセパレータ
 > が先頭にある行は階層化する
*T テキスト履歴(&T)
*C クリップボード履歴(&C)
日付 YY/MM/DD(&D)  \Y/\0m/\0d
日付 YYMMDD(&F)   \Y\0m\0d
*EX メモ作成(&M):wscript D:\work\blog\memo\0meme.vbs
*E NOTEPAD “%1”

私の使っている設定は、こんな感じで非常にシンプルです。ショートカットは、QTClip に敬意を表して、Alt+Q を使っているので、

Alt+Q D とか、Alt+Q F とかで、日付が簡単に入れられます。

Alt+Q M だと新しいメモを NewQX で開くとか。

 

カテゴリー: ツール | 4件のコメント