.NET
動的に別のDLLをロードするときのメモ。 System.Reflection.Assembly.GetExecutingAssembly().CodeBase で自身のパスが取れる。 file:\ が先頭に付くときがあるため取り除いている。 string selfDirPath = System.IO.Path.GetDirectoryName(System.Reflectio…
Silverlight 4 から Out of Browser でCOMオートメーション機能が使えるようになった。これにより Excel などの外部アプリケーションを直接呼び出し操作できるようになりました。 Silverlight 4 の出荷候補版も出たので試しに COM による Excel 連携機能を実…
Visual Studio 2010 RC 対応版が出たので、もう下記のハックは不要です。 Microsoft Silverlight 4 Tools for Visual Studio 2010 RCMicrosoft Download Center Visual Studio 2010 RC が出て半月は経ちますが、Silverlight 4 Tools for Visual Studio 2010 …
DotNetZip Library - Home DotNetZip は Microsoft Public License の ZIP ライブラリ プロジェクト。 試しに C# からコマンドラインでパスワード付きZIPを作成するサンプルプログラムを書いてみた。 using System; using System.IO; using Ionic.Utils.Zip;…
Windows Vista や Windows XP SP2 で DEP がオンになっているとき、Javaアプレットをカスタム WebBrowser で実行すると AccessViolationException で落ちてしまう。実行時にはデータ実行防止(DEP)が働いたといわれる。 そんなときは、Visual Studio 2008 で…
前々から気づいていたのだが書いておく。.NET Framework 2.0 から TextBox などにファイルや URL の自動補完機能が付けられるようになった。テキストボックスでオートコンプリート機能を使用するには?[2.0のみ、C#、VB] − @ITこれを有効にしている(実際…
.NET にバイト配列を16進数文字列にエンコード/デコードする方法が用意されていなかったので、自作した。(Base64 なら Convert にある。) 文字列への変換は、BitConverter.ToString に Replace("-", String.Empty) とすることでもできなくはなさそうだが…
ブレイクされる行がクラスのコンストラクト時であるためわかりずらいが、静的なコンストラクタが存在しその中で例外が起きてキャッチされなかったときに起こる。 class Nantoka { static Nantoka() { using (StreamReader sr = new StreamReader("D:\test.lo…
スタートアップに登録するかどうかなどをインストール時に選択できるようにしたい。ユーザーインターフェイスエディタでチェックボックス ダイアログを追加すれば簡単にできそうだった。しかし、ショートカットには condition プロパティがないので条件を付…
.NET 2.0 で tlbimp した MSHTML.dll をロードすると、IEコンポーネントの印刷(プレビュー)機能や、IShellUIHelper.ShowBrowserUI の「お気に入りの整理」などが使用できなくなる。 解決 単に COM 参照で、 Microsoft HTML Object Library を追加したら動…
IE7 では、ShellUIHelper に検索プロバイダの登録機能などを定義している IShellUIHelper2 が追加実装されているので SHDocVw が次のようになる。Guid は A7FE6EDA-1932-4281-B881-87B31B8BC52C である。 using System.Runtime.InteropServices; namespace S…
.NET 2.0 になり、アンマネージドとの相互変換時の変数型の定義を明確にしないと、InvalidVariant MDA メッセージが投げられるようになった。動作確認した定義は以下の通り。 using System; using System.Runtime.InteropServices; using MSHTML; namespace …
他にも方法はあるだろうがレジストリから取得するのが一番良さそう。 文字列でIEのバージョンを返す。エントリがなく取得に失敗したら null を返す。 public static string getInternetExplorerVersion() { string rKeyName = @"SOFTWARE\Microsoft\Internet…
ディレクトリパスをファイル名の結合をするときに、/ \ といった区切り文字を気にしないで行いたい。.NET では、Path という便利なクラスが用意されているが、Java ではそのようなユーティリティクラスはない。File のコンストラクタがその役目を担ってくれ…
下記のような、メールヘッダのDate値を変換する。 Date: Sun, 02 Jul 2006 19:45:13 +0100 CultureInfoを en-US にしないと、曜日、月の省略語を正しく認識できない。 // 変換に失敗すると FormatException を投げる。 public static DateTime ParseMailDate…
Windows XP SP2 - .NET 2.0 で SHDocVW の IWebBrowser などを取得したときの問題。それ以降にIEコンポーネントでファイルが開けずに、すべてダウンロードダイアログがポップアップしてしまう。IE6 SP1, IE7では起きない。
private struct WindowData { public System.Windows.Forms.HtmlDocument document; public IConnectionPoint icpWin; public int cookieWin; public IConnectionPoint icpDoc; public int cookieDoc; } private WindowData setWindowComConnect(object pDis…
.NET 2.0 で標準追加されたブラウザコントロール。 Navigation イベント BeforeNavigate2 イベントの代わり、ただ PostData などが取得できなくなっている。 バグ WebBrowser.WebBrowserSite クラスを使って、IDocHostUIHandler を実装できるとあるが、 実装…
.NET 2.0 で追加された。「HtmlDocument は、Internet Explorer の DHTML DOM で実装されるアンマネージ インターフェイス (IHTMLDocument、IHTMLDocument2、IHTMLDocument3、および IHTMLDocument4) に基づいています。これらのアンマネージ インターフェイ…
@Set Path=C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin;%PATH% cd .\ wsdl http://server/mediawiki/extensions/AddPageService.php?wsdl これで、AddPageServiceService.cs が生成される(Serviceが追加されるので繰り返しになっている)。か…
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin をパスに通しておく。 下記の SHDocVw.dll の場合、AxSHDocVw.dll, SHDocVw.dll > sn -k shdocvw.snk > aximp /keyfile:shdocvw.snk %WINDIR%\system32\shdocvw.dll
COMType WebProxy XmlReaderSettings Invoke のコンパイルチェックが厳格に 2.0は無名メソッドが可能なので内部定義。下記はツリーノードを別スレッドから削除している。 Control.Invoke では、System.Delegate の MethodInvoker にキャストしてやる。 if (n…
カスタム動作でngenを呼び出す。インストーラクラスを作成し下記を定義する。 public override void Install(IDictionary stateSaver) { base.Install (stateSaver); doNgen(getArgument(), false); } public override void Uninstall(IDictionary savedStat…
ある画像だけ。形式がPNG, BMPだとおきる。GIFでは起きない。パレットとかのせい?不明…