Since you're calling a .NET API to start the process anyway, you could try using .NET APIs to build the path of the executable that you want to call.
using namespace System::Diagnostics;
using namespace System::IO;
using namespace System::Reflection;
String^ assemblyLocation = Assembly::GetExecutingAssembly()->Location;
String^ dir = Path::GetDirectoryName(assemblyLocation);
String^ childProcessPath = Path::Combine(dir, "JoypadCodesApplication.exe");
Process::Start(childProcessPath);
If that still doesn't work, have you verified that the path passed to Process::Start()
is correct and the exe is at the location you think that it is?