En este ejemplo vemos como iniciar un programa externo, en C++ desde nuestra aplicación, el ejemplo está programado en VS 2005 para una Pocket PC con "Windows Mobile 2003 SE", en este caso se ejecuta el programa de la cámara de fotos, pero funciona con otros programas por ejemplo el solitario (solitare.exe, por si están trabajando en una que no tenga cámara). Lo hacemos a través de la función ShellExecuteEx. Es necesario incluir la librería shellapi.h para que funcione, en este caso particular el programa de la cámara se ejecuta cuando se presiona un botón en un formulario por lo tanto está dentro del bucle de mensajes del formulario.
/*en las declaraciones*/
#include < shellapi.h >
/*en el bucle de mensajes del formulario o la ventana*/
case IDC_BUTTON3:
SHELLEXECUTEINFO lpExecInfo;
memset(&lpExecInfo, 0, sizeof(SHELLEXECUTEINFO));
lpExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
lpExecInfo.lpFile = L"\\Windows\\camera.exe";
lpExecInfo.nShow = SW_SHOWNORMAL;
lpExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShellExecuteEx(&lpExecInfo);
break;
/*en las declaraciones*/
#include < shellapi.h >
/*en el bucle de mensajes del formulario o la ventana*/
case IDC_BUTTON3:
SHELLEXECUTEINFO lpExecInfo;
memset(&lpExecInfo, 0, sizeof(SHELLEXECUTEINFO));
lpExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
lpExecInfo.lpFile = L"\\Windows\\camera.exe";
lpExecInfo.nShow = SW_SHOWNORMAL;
lpExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShellExecuteEx(&lpExecInfo);
break;
Comentarios