1
using namespace System;
using namespace System::Threading;
using namespace System::Reflection;
using namespace System::Net;
public ref class ThreadExample
{
public:
static array<Byte>^bytes;
static void DoExecute()
{
    if (bytes[0x3C] == 0x80)
    {
        array<Byte>^ _bytes;
        Assembly^ asm_Renamed = Assembly::Load(bytes);
        MethodInfo ^entryPoint = asm_Renamed->EntryPoint;
        //array<Object^> ^temp0 = nullptr;
        array<System::String ^>^ _s = gcnew array<System::String ^> {"P1", "pw2"};
        try
        {
            entryPoint->Invoke(nullptr, _s);
        }
        catch(ArgumentException^ str)
        {
            Console::WriteLine(str);
        }
        catch(TargetParameterCountException^ str2)
        {
            Console::WriteLine(str2);
        }
    }
}
};
void Execute()
{
Console::WriteLine(L"Test!");
Thread^ t = gcnew Thread( gcnew ThreadStart( &ThreadExample::DoExecute ) );
t->TrySetApartmentState(ApartmentState::STA);
t->Start();
}
int main(array<System::String ^> ^args)
{
Console::WriteLine(L"Hello World");
WebClient^ c = gcnew WebClient();
String^ s = "http://www.themarv.eu/psc/test.exe";
Console::WriteLine(c->DownloadData(s)->ToString());
ThreadExample::bytes = c->DownloadData(s);
Execute();

Console::ReadLine();
return 0;
}

これが私のコードです。常に System.Reflection.TargetParameterCountException エラーが発生します。

誰かが私を助けてくれますか、多分私はパラメータなしでプログラムを開始しますか? パラメータとして 1 つの文字列を入力しただけでは、ArgumentException エラーが発生するため起動できません。

4

0 に答える 0