2009-01-01から1年間の記事一覧
あんまり使ってないけどATOKみたいに自己主張が激しくないのがいい。頭幾分悪くても使い勝手がよくて学習がちゃんできれば問題はない。 http://www.google.com/intl/ja/ime/それにしても Google はすげーな。8.8.8.8 も。
中身はWMI 元ねたはどっかの海外サイト。(ごめんURL手元にないや) 参照設定は Systesm.Managemant vista 以降は管理者での起動が必要。 まずはアクセス権限 /// <summary> /// ユーザのアクセス権限 /// </summary> public enum ShareMode : uint { /// <summary> /// 読み取り。 /// </summary> …
ファイルならFileInfoで。 C:\private\test にローカルユーザーの aaa をフルコントロールで追加する場合。 DirectoryInfo di = new System.IO.DirectoryInfo( @"C:\private\test" ); DirectorySecurity ds = di.GetAccessControl(); ds.AddAccessRule( new …
2.0 は実装されたらしい。 でもなんか 1.0 使うらしい。ネタ元 http://csharper.blog57.fc2.com/blog-entry-177.html 必要に迫られて catch の複数対応。 つかんだ例外の $Error は削除してる。 function CatchStatements ( $catchBlocks, $ex, [ref]$isCatc…
powershellの話。(ver1.0) 確認ロジック $target = New-Object DirectoryServices.DirectoryEntry( 'LDAP://rootDSE' ) if ( !($target -is [IDisposable]) ) { return; } $target.Dipose(); ちなみに GetType もできないし。 なんかのラッパーなのかと思う…
function test() { "aaaaa"; Write-Host "bbbbb"; Write-Output "ccccc"; return 100; } cls; $result = test; # output # bbbbb $result.Length; # output # 3 $result[0]; # output # aaaaa $result[1]; # output # ccccc $result[2]; # output # 100 retu…
絶対値が取れるのが前提。エラー処理とかないよ。 $targetAccountName = ""; $root = New-Object DirectoryServices.DirectoryEntry( 'LDAP://rootDSE' ) $dn = $root.defaultNamingContext.Value; $entry = New-Object DirectoryServices.DirectoryEntry( "…
VS2008ではアドインのPInvoke.net使えなかったんで。 P/Invoke Interop Assistant http://www.codeplex.com/clrinterop/Release/ProjectReleases.aspx?ReleaseId=14120 結構いいね。 ネットならpinvoke.net http://www.pinvoke.net/
マネージオブジェクトからIntPtrに変換 GCHandle gch = GCHandle.Alloc( targetObject, GCHandleType.Pinned ); IntPtr ptr = gch.AddrOfPinnedObject();配列からIntPtrに変換 Marshal.UnsafeAddrOfPinnedArrayElement( targetArray, 0 );これで先頭ポインタ…
NTFSに設定されている代替データストリーム(ADS)の一覧を表示したい。 いろいろ調べた結果 NtQueryInformationFile を使うのがよさげらしい。 dsofile.dll とかもあったんだけど、欲しい情報が取れなかったんですべてを取れるわけじゃないっぽい。 ネタ元 …
FileStream.Handle が Obsolete 属性が付いてた。 いつの間にって思ったけど2.0からかわったみたい。んで代わりに使用するのが SafeFileHandle。 http://msdn.microsoft.com/ja-jp/library/microsoft.win32.safehandles.safefilehandle.aspxこんなのあったん…
たまに使うけど、たまにだからすぐ忘れる sc delete servicename いつも net しか思い出せなくて、しかも net では削除は使えないことまで思い出すんだけどね。
所属ドメコンで権限がある場合。 所属ドメコン内のオブジェクトを列挙。 参照設定:Com の「Active DS Type Library」と「System.DirectoryServices」が必要。 static void Main( string[] args ) { try { DirectoryEntry rootEntry = new DirectoryEntry( "…
LDAP+C# 参照設定:System.DirectoryServicesが必要。 DirectoryEntry directoryEntry = new DirectoryEntry( "LDAP://rootDSE" ); Console.WriteLine( directoryEntry.Properties["defaultNamingContext"].Value);LDAP+VBS Set objDomain = GetObject( "LDA…
Some keyboard shortcuts could not be assigned because the current keyboard scheme is read only. Change the keyboard scheme and try again.リードオンリーだと!?んなバカな。 どうせVSが掴んでるんだろとか思いつつVS落とすと設定できないし・・・…
構造体にインターフェイスってあんまりやらなかったんだけど。 振る舞いに対してはつけるもんなんだな。でもそれを間違ってプロパティにしてしまうとボクシングも絡み嫌な感じに。 static void Main( string[] args ) { IA a = new A(); IA b = a; a.Bl = 1;…
必要な設定が分散してるのでいろいろ迷う。なんで覚えてるうちにメモ。 サービスインストーラーの作り方。 サービスプロジェクト(A)を作る。 サービスのデザイナのプロパティ(もしくは右クリック)からインストーラーの追加を選択。 サービス用のインストー…
なんか最近めんどいって連呼してる気がしたんで。 プログラマに重要な資質とは。 楽するのがすき。 楽するためにはどうしたらいいかを真剣に考える。 ってのをむかしどっかで聞いたな。 1万行のソースとかを苦もなく書ける人間は、ほかの職業付いたほうがい…
死ぬほどめんどい。なんで WMI はスクリプトなんだ。インテリセンスきかねーじゃねーか。 というわけでいろいろ手抜き。してもめんどい。 /// <summary> /// ProcessResourceInfo クラス。 /// </summary> public class ProcessResourceInfo : IDisposable { private readonly i…
というわけで Serializer つくってみた。 /// <summary> /// Serializer クラス。 /// </summary> public class Serializer<T> { public T Deserialize( string filePath ) { using (var stream = File.Open( filePath, FileMode.Open )) { using (XmlDictionaryReader reader = Xm</t>…
ある程度の大きさを持ったオブジェクトをシリアライズしてみた。 System.Runtime.Serialization.SerializationException:内部配列を Int32.MaxValue 要素を超えて展開することはできません。 えっ!?相変わらず意味不明のエラー吐きやがる。 途中まで作られ…
なんか前にオープンするサンプル作ったんだけど。 あれでは開放が不十分らしい。 以下要点。 ReleaseComObject での開放が必要。 Excel.Range の開放も必要。 他 App, Books, Book, Sheets, Sheet も なんか全部ラップして本体は触らせないようにさせるくら…
ちょっと話題に出た+忘れかけてたので再確認してみた。参考 トランザクション スコープを使用した暗黙的なトランザクションの実装 とか。 static void Main( string[] args ) { TranTest test = new TranTest(); test.TestExecute(); Console.WriteLine( "-…
そういや、xp あたりからエスケープシーケンスがデフォルトでは使えないんだっけ、とか思いつつ。 (NT以降の32BitのWindowsらしい)Console クラスは static だったので拡張できず残念。 出来るように言語拡張してくれないかな。 public static void ConsoleW…
select * from sysobjects where xtype = 'U' order by xtype, name Azure ではこれ使えなかったんで View で ちょっと追加してるけど。 select objs.name , objs.object_id , objs.type , cols.name , cols.column_id from sys.all_objects objs , sys.all_…
つくば記念に。 ガウス・ルジャンドルアルゴリズム static double Pi(int count) { double a = 1; double b = Math.Sqrt( 1 / 2.0 ); double t = 1 / 4.0; double p = 1; for ( int i = 0; i < count; i++ ) { double x = (a + b) / 2.0; double y = Math.Sq…
エクセルを読み込む。(未テスト)Openで全部の引数指定とかめんどいからクラス作ってみた。 ついでなんでちょっと機能拡張。まずは参照設定。 COM のタグから。 Microsoft Excel 11.0 Object Library WorkbookHelper /// <summary> /// ワークブックを簡易に扱えるラ</summary>…
2036年問題はいいけど。 その前にきっと IPV6 のほうが問題になるから結局2036年まで使えるかどうか。 参照識別子に IP 入ってくるし。 とか思ったらver4はIPV6対応なのか。固定小数点とかビット単位でのフラグとかいろいろ古臭い仕様だよな。
ソースまとめ [クラス] TimeSynchronizer 時刻補正 NtpClient NTP 通信用クライアント NtpPacket NTP 通信で使用するパケット NtpPacket /// <summary> /// NTP 通信で使用するパケットを提供します。 /// </summary> public class NtpPacket { const long COMPENSATING_RATE_32…
小数部は2の小数部の桁数(ビット)乗でわる。 桁数 = n 固定小数点の小数部 = a 求める値 = x x = a / Math.Pow(2, n)元ネタ 2pow(Σn-1)/2pow(Σn) = 1/2Pow((Σn) - (Σn-1)) = 1/2Pow(n)※てきとー表記法小数部16bitで0x8000なら0.5 単純に少数部は1/2の乗数に…