タイトル : Re^7: クリップボードに自動保存 投稿日 : 2006/03/23(Thu) 10:43 投稿者 : YAS
> 今、Visual Studio 2005のHELPでCallByName 関数を見ているのですがいまいち分かりません。 > 相変わらずマイクロソフトのHELPは初心者には分かりにくいようで..... Dim Obj As Object = CreateObject("Shell.Application") とあったときに, 遅延バインディング:Obj.ToggleDesktop() CallByName関数:CallByName(Obj, "ToggleDesktop", CallType.Method, Nothing) Type.InvokeMemberメソッド:Obj.GetType.InvokeMember("ToggleDesktop", _ Reflection.BindingFlags.InvokeMethod, Nothing, Obj, Nothing) の3つが結果だけをみればほぼ等価に機能します。 もちろん,ObjはCOMオブジェクトなので使い終わったら解放する必要があります。 Dim Obj As Object = Nothing Try Obj = CreateObject("Shell.Application") CallByName(Obj, "ToggleDesktop", CallType.Method, Nothing) Catch ex As Exception If Obj IsNot Nothing Then Marshal.ReleaseComObject(Obj) End Try |