private static void LoadAssemblies()
        {
            if (!App.assembliesLoaded)
            {
                // Setting the native dll search path
                LogWriter.Write("Setting environment");
                Environment.SetEnvironmentVariable(
                    "PATH",
                    ApplicationInfo.AppTempDirectory,
                    EnvironmentVariableTarget.Process);

                LogWriter.Write("Extracting native resources");
                var assembly = Assembly.GetExecutingAssembly();
                ResourceExtractor.ExtractResource(assembly, "KeyboardSplitter.Lib.interception.dll", ApplicationInfo.AppTempDirectory);
                ResourceExtractor.ExtractResource(assembly, "KeyboardSplitter.Lib.VirtualXboxNative.dll", ApplicationInfo.AppTempDirectory);

                ManagedAssemblyLoader.Load(
                    "KeyboardSplitter.Lib.Interceptor.dll",
                    "Interceptor.dll");

                ManagedAssemblyLoader.Load(
                    "KeyboardSplitter.Lib.SplitterCore.dll",
                    "SplitterCore.dll");

                ManagedAssemblyLoader.Load(
                    "KeyboardSplitter.Lib.VirtualXbox.dll",
                    "VirtualXbox.dll");

                ManagedAssemblyLoader.Load(
                    "KeyboardSplitter.Lib.XinputWrapper.dll",
                    "XinputWrapper.dll");

                App.assembliesLoaded = true;
            }
        }
示例#2
0
        private void LoadAssemblies()
        {
            UnmanagedAssemblyLoader.Load(
                Assembly.GetExecutingAssembly(),
                "PsMidiProfiler",
                "PsMidiProfiler.Lib.bass.dll",
                "bass.dll");

            ManagedAssemblyLoader.Load("PsMidiProfiler.Lib.Bass.Net.dll", "Bass.Net.dll");
        }
示例#3
0
 private Assembly OnAssemblyResolve(object sender, ResolveEventArgs args)
 {
     return(ManagedAssemblyLoader.Get(args.Name));
 }