Я полагаю, что среда интеллектуальных устройств использовала два различных способа решения вопроса 2, но они были удалены, когда компактная структура получила возможность вызывать "System.Diagnostics.Process.Start" в одном, если она будет выпущена позднее.
Однако для компактной интегрированной версии Process.Start требуются два параметра (exe, имя файла), которые вы упомянули выше, и их нельзя вызвать напрямую, используя только имя файла. Хотя версия компактного фреймворка была не так полезна, как код фреймворка интеллектуального устройства, этого было достаточно, чтобы привести к его удалению из основного проекта.
Более старая версия каркаса смарт-устройства позволяла напрямую обращаться к имени файла и использовала pinvoke для запуска файла, проверяя реестр на наличие связанной программы.
OpenNETCF.WinAPI.Core.ShellExecute("\\My Documents\\Test.pxl", "");
или я считаю, что альтернативным способом было позвонить ..
OpenNETCF.Diagnostics.Process.Start("\My Documents\Test.pxl")
Второй метод все еще был доступен в версии 1.4, исходный код которой все еще доступен. Вы можете скачать их с OpenNetCF (внизу страницы) и извлечь код, который они использовали, или даже самостоятельно скомпилировать dll и вызвать их из вашего проекта.
Надеюсь, это поможет каким-то образом