C#
こちらでの告知が遅くなりましたが、さる2008/6/14に開催された こみゅぷらすコミュニティローンチ でDLRとUI Automationを使用した単体テストのお話を行いました。 資料はずいぶん前から公開していましたが、サンプルを少し整理して併せて公開を行いました。参考にしてください。 WPF UIの単体テストサンプル WPFの単体テスト (セッションで使用した資料) DLR Beta2探訪 (セッションで使用した資料)
続きを読む
Windowsのファイル名の最大長考察 で最大ファイル名を少し試してみました。最後のPowerShellでより長いファイル名が扱えないということが疑問だったので、.NET Frameworkで試してみましょう。 1: FileInfo fi = new FileInfo( @"c:\temp" ); 2: DirectoryInfo di = new DirectoryInfo( @"c:\temp" ); 3: FileInfo[] files = di.GetFiles( "*.txt" );
続きを読む
このおかげで5時間くらい悩みまくりました。環境はWindows Server 2003 R2 SP2 Enterprise Edition(体験版)とクライアントはWindows XP SP2+IE 6.0です。 まず、同一ホスト(www.exsample.com)に仮想ディレクトリ/xfolderと/yfolderを作成します。 次に、xfolderに独自のhttpヘッダを指定します。値そのものが悪いのでは?というのはまぁなしで。 xfolderにはこんなhtmlを置きます。 < html
続きを読む
会社でEFSで暗号化したファイル群を元に戻すために作ったプログラムを整形したバージョン。ファイルの暗号化を戻した場合、タイムスタンプが書き換わってうれしくないので(仕様的には書き変わらないとまずいのでしょうが)、タイムスタンプを保持しておいて、戻すという技を使っています。 実際はエラーチェックとか入っていたり、構造がちょっと違いますが。エラーが出たら許してください 。参照にSystem.Security.dllを追加してください。 readonly(読み取り専用)をはずしているのはVSSなどにチェックインしたファイル対策。ReadOnly属性をはずしておかないと例外が発生します。
続きを読む
Visual Studio 2005でC#とC++/CLIが混在するソリューションを作り、C++/CLI側でC#側のコードを呼び出すような構成の場合、C#側の修正がどんなに軽微でもC++/CLIはフルビルドが走ってしまいました。小さいプロジェクトならまだしも、大きいのになるとなかなかしんどいのではないでしょうか。私の場合、C++/CLIが2000行程度のプロジェクトですが、それでもいやだなと思うくらいです。 Orcas(Beta1)ではこの辺賢くなっているようで、C#側の内部処理が変わった程度ではC++/CLIのフルビルドまで行われなくなってます。これだけでもOrcasに移行したい
続きを読む
C#(.NET Framework)の [Obsolete]属性 を見たとき、「ああ、C/C++にも欲しいなー」と痛切に思いました。APIが変わったり、実装を変更して、こっちを使って欲しい…といった場合、メールの告知や仕様書の改編では絶対に見てもらえない人がいるから。 ところが、似たような物はちゃんとあるんですね。たとえば、Visual C++ 2005でstrcpyを使うとC4996という警告が出ます。 1 2 TCHAR Dummy[256]; strcpy(Dummy, TEXT( "Dummy"
続きを読む
注意:これは2007/1/8現在のお話です。msdn2は時間とともに修正される可能性があります。 Vistaには TaskDialog というAPIが追加されました。 補足事項が表示できる。 新しいアイコン(盾)が表示できる。 くらいでしょうか。もっとカスタマイズしたければ、TaskDialogIndirect()もあります。msdn2とWindows SDK 6.0付属のヘルプには誤りがあります。 間違いはプロトタイプ宣言。ヘッダファイルは正しいので、ヘルプのみあてにしてコードを書くと、「引数が足りません」というエラーになります。正しくはこう。
続きを読む
第11回Codeseek勉強会で「Windows APIからVistaの新機能を知る」というお題でしゃべってきました。資料は このサイト で公開しています。いっぱいあって何しゃべろうか迷ったんですが以下の三点でしゃべりました。聞いた人もだいぶ追記したので、改めてみてください。 IFileDialog Task Dialog シンボリックリンク 特にTask DialogとシンボリックリンクはWindows SDKのドキュメント(とmsdn2.microsoft.com)にも間違いがあって、ちょっとはまりました。feedbackしようかなと思ったのですが…どこでやればいいんだっけ?feedback
続きを読む
従来、Windows XPまではGetOpenFileNameというAPIを使ってダイアログを開いていました。OSが変わってもフラグを追加する程度で済んでいました。 ところが、Windows VistaスタイルのファイルオープンダイアログボックスはI/Fが変わっています。 IFileOpenDialog というインタフェースを使い、COMでアクセスすることになります。構造体拡張するのいやになったんでしょうかね(^^;。 注意すべき点として、COMということもあって、文字列が全部LP(C)WSTR、つまりワイド文字をとることになっています。もちろん、変換してもいいのですが、COMではない、従来のAPIのようなものでもLP(C)WSTRを要求しているものがあるようなので、さっさと移行したほうがいいんでしょうかね。
続きを読む
リリース物件を格納しているフォルダから本番環境へコピーするのに、いちいちファイルを探してバックアップして…というのが果てしなく面倒でした。Installerつくればいいのだろうけれど、そんな手間もかけたくない。似たようなツールはきっとあるでしょうが、探すのも面倒だったので、えいやぁで作ってしまいました。バイナリ配布しようかと思ったけれど、release note書くの面倒だったので… [仕様] コピー元とコピー先のフォルダ構成が同じになっている必要があります。 バックアップフォルダを指定しなければ実行した日時でバックアップフォルダを作ります。
続きを読む
PIAを使ってVisio 2003のドキュメントのステンシルを列挙する方法。すごく苦労しました…Visual BASIC 6.0なんかが楽ですね。get_CellsU()なんかわからないって 。 WordやExcelならサンプルがあるのですが、Visioは軽く探しただけではまったくみつからず。ちなみにこれは完全ではありません。Pageコレクションの中にはLayerコレクションがあります。従って、もう一段階増えるはずです。私が扱うvsdファイルはLayerがないので省略しています。MSDN Libararyの
続きを読む