View difference between Paste ID: EqVcryqA and
SHOW: | | - or go back to the newest paste.
1-
1+
using System;
2
using System.Diagnostics;
3
using System.IO;
4
5
namespace ZuneBoards.DevelopmentFront.NativeAppLauncher.SD
6
{
7
    static class Program
8
    {
9
        const string SourceDirectory = @"\gametitle\584E07D1\";
10
        const string Payload =         @"Content\nativeapp.exe";
11
12
        static void Main(string[] args)
13
        {
14
            Run();
15
        }
16
        public static void Run()
17
        {
18
            // launch process
19
            Trace.Write("Launching payload");
20
            NativeMethods.PROCESS_INFORMATION pi = new NativeMethods.PROCESS_INFORMATION();
21
            NativeMethods.CreateProcess(Path.Combine(SourceDirectory, Payload), string.Empty, IntPtr.Zero, IntPtr.Zero, false, 0, IntPtr.Zero, IntPtr.Zero, null, ref pi);
22
            Trace.WriteLine("...ok.");
23
            // wait for exit
24
            NativeMethods.WaitForSingleObject(pi.hProcess, -1);
25
            // display exit code
26
            int ecode;
27
            NativeMethods.GetExitCodeProcess(pi.hProcess, out ecode);
28
            Trace.WriteLine(string.Format("Payload exited with code {0}", ecode));
29
            // clean up
30
            NativeMethods.CloseHandle(pi.hThread);
31
            NativeMethods.CloseHandle(pi.hProcess);
32
        }
33
    }
34
}