Я работаю над автоматическим тестированием приложений для метро, и я нашел код, чтобы сделать много чего мне нужно, но он в С++: http://blogs.msdn.com/b/windowsappdev/archive/2012/09/04/automating-the-testing-of-windows-8-apps.aspx
Мой вопрос: как я могу использовать IApplicationActivationManager:: ActivateApplication в С#, потому что я не знаю С++? Подробности для метода можно найти здесь: http://msdn.microsoft.com/en-us/library/windows/desktop/hh706903(v=vs.85).aspx
Вот код, который я вытащил из Shobjidl.idl:
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(ACTIVATEOPTIONS)")
// IApplicationActivationManger is used to activate an immersive application identified by its Application User Model Id.
//
// Developers who are interested in using the Application Activation Manager do not need to implement the following
// interface. An implementation is provided through the CoCreatable Object with CLSID_ApplicationActivationManager.
[
object,
uuid(2e941141-7f97-4756-ba1d-9decde894a3d),
pointer_default(unique)
]
interface IApplicationActivationManager : IUnknown
{
// Activates the specified immersive application for the "Launch" contract, passing the provided arguments
// string into the application. Callers can obtain the process Id of the application instance fulfilling this contract.
HRESULT ActivateApplication(
[in] LPCWSTR appUserModelId,
[in, unique] LPCWSTR arguments,
[in] ACTIVATEOPTIONS options,
[out] DWORD *processId);
HRESULT ActivateForFile(
[in] LPCWSTR appUserModelId,
[in] IShellItemArray *itemArray,
[in, unique] LPCWSTR verb,
[out] DWORD *processId);
HRESULT ActivateForProtocol(
[in] LPCWSTR appUserModelId,
[in] IShellItemArray *itemArray,
[out] DWORD *processId);
}
// CLSID_ApplicationActivationManager
[ uuid(45BA127D-10A8-46EA-8AB7-56EA9078943C) ] coclass ApplicationActivationManager { interface IApplicationActivationManager; }
Любые идеи?
Спасибо