我正在尝试启动当用户按下按钮时用移动设备的相机拍照的capture.exe
。从文件资源管理器运行capture.exe
时,它会按预期工作,将capture.log
和default.jpg
保留在运行它的文件夹中。但是,通过我的应用程序启动 exe 时,exe 不会创建default.jpg
,并且capture.log
包含:
pPropertyBag->Load( &PropBag, NULL) failed, hr = 80070037
我用来启动 exe 的代码是:
CreateProcess(L"\MyPath\capture.exe", NULL, NULL, NULL, FALSE, NULL, NULL, NULL, NULL, NULL)
我还尝试将路径作为第一个命令行参数以及空字符串传递,但由于某种原因,capture.exe
以编程方式调用时无法正常运行。
我怀疑资源管理器使用的是CreateProcess,它可能使用的是ShellExecuteEx,它有时会给出不同的行为。 这绝对值得一试,因为这是我能想到的唯一区别。