(´・∀・`) JScript .NET スレッドat TECH(´・∀・`) JScript .NET スレッド - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト26:デフォルトの名無しさん 05/08/30 01:39:44 >>13 Assemblyが手に入ったならあとはEntryPointプロパティでMethodInfoが手にはいるからそいつをInvokeだ。 ちなみにjsc.exeだと自動的に"JScript Main"クラスを作成し、その静的メソッドMainをエントリポイントに割り当てる。 この中身にベタで書かれたコードが内蔵される。 ……エントリポイントを任意のメソッドであると明示することってできたっけ? 27:デフォルトの名無しさん 05/08/30 23:07:26 >>26 わ。ありがとうございます。やってみます。 jsc でコンパイルして、Reflect関連ツールで覗いてみたらグローバルオブジェクトを継承したクラスのメソッド?になってたような。 28:デフォルトの名無しさん 05/08/31 08:45:33 >>26 EntryPoint が null でした orz jscと同じような加工を施さないとだめな気がしてきた。 29:デフォルトの名無しさん 05/08/31 10:51:42 えー、nullになる? ……あ、ひょっとしてCompilerParametersのExecutableをtrueにしてないんじゃ? サンプル書いてみた。 import System; import System.CodeDom.Compiler; import System.Reflection; import Microsoft.JScript; var source : String = "var ie = new ActiveXObject(\"InternetExplorer.Application\");" + "ie.Navigate(\"ttp://www.yahoo.com/\");" + "ie.Visible = true;"; var provider : JScriptCodeProvider = new JScriptCodeProvider(); var jsc : ICodeCompiler = provider.CreateCompiler(); var param : CompilerParameters = new CompilerParameters(); param.GenerateInMemory = true; param.GenerateExecutable = true; var result : CompilerResults = jsc.CompileAssemblyFromSource(param, source); var assembly : Assembly = result.CompiledAssembly; var entry : MethodInfo = assembly.EntryPoint; var args : Object[] = new Object[1]; entry.Invoke(null, new Object[1]); 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch