The easiest way to do this would be to use a custom URI scheme and then launch the app using that.
Registering and handling custom URIs is thoroughly described in the official UWP documentation, so I encourage you to follow that. In short, you first register a custom URI scheme in your Package.appxmanifest and then override the OnActivated in App.xaml.cs and check if the IActivatedEventArgs.Kind is ActivationKind.Protocol. Then you cast IActivatedEventArgs to ProtocolActivatedEventArgs and use its Uri property to access the launched URI.
On the Windows Forms side of things you then just have to launch the URI and that will cause the UWP app to launch / activate. You do so by starting a process with the URI:
var url = "myapp:?someparam=somevalue";
var psi = new ProcessStartInfo();
psi.UseShellExecute = true;
psi.FileName = url;
Process.Start(psi);
You can use the URI to pass in any string values to the UWP app by virtue of using query string parameters in the URI. You can read those in the OnActivated method in UWP app.
Of course, this is not the only solution, as you can now also use UWP APIs in Windows Forms and so you could for example pass data between the two apps using App Services. If you however need just one-way communication, custom URI is the way to go.
Alternative method - App Execution Alias
Since build 16226 UWP supports App Execution Alias, which allows you to declare a system-wide app name that can be used to launch the app from the command-line from anywhere in the system. You can read more about it in this blogpost. This way, you could launch the app directly by its name and just pass the arguments as process args.