- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 ImageMagick 将 PDF 转换为 JPG。此转换需要几百毫秒才能运行,所以我有一个 WaitForSingleItem等待进程句柄。
不幸的是,该过程几乎立即完成,并且转换没有完成(我假设它因句柄关闭而中断)。我想要同步行为。
我有一个连接到进程的输出管道,但我根本没有得到任何输出,错误或其他原因,因为流程认为“好的,完成,关闭所有内容并继续前进。”
通过不太密集的操作,一切都按预期工作 - 错误、输出等 - 我认为问题几乎肯定在等待中。
有人可以就如何解决这个问题提出建议吗?这里有一些适用的代码,可能不是很有用,但这是唯一重要的部分,因为其他一切都运行良好。
运行代码后,我收到消息 WAIT_OBJECT_0
。
if (!CreateProcess(
NULL,
(LPSTR) "convert test.pdf test.jpg",
NULL,
NULL,
TRUE,
CREATE_NO_WINDOW,
NULL,
NULL,
&si,
&pi
)) { console_->AddItem("ERROR: Failed to create process."); }
DWORD wait = WaitForSingleObject(pi.hProcess, INFINITE);
if (wait == WAIT_ABANDONED) { MessageBox(NULL, "WAIT_ABANDONED", "Alert", MB_OK); }
else if (wait == WAIT_OBJECT_0) { MessageBox(NULL, "WAIT_OBJECT_0", "Alert", MB_OK); }
else if (wait == WAIT_TIMEOUT) { MessageBox(NULL, "WAIT_TIMEOUT", "Alert", MB_OK); }
else if (wait == WAIT_FAILED) { MessageBox(NULL, "WAIT_FAILED", "Alert", MB_OK); }
else { MessageBox(NULL, "END OF THE WORLD", "Alert", MB_OK); }
最佳答案
愚蠢的错误,与 WINAPI 无关。一切正常。
http://support.cs.nott.ac.uk/help/docs/image/ImageMagick/www/FAQ.html#C19
ImageMagick 有一个 convert
命令,但 Windows 也有,所以它使用了错误的该死的命令。
当我直接通过 cmd
执行时,它按预期工作,但由于某种原因通过 CreateProcess
,错误的 convert.exe
是用过的。不知道为什么会这样,但很容易修复。
来自 ImageMagick 的一个有趣的小插曲:Windows convert.exe 程序用于将系统启动盘从 MS-DOS“FAT”格式转换为 NTFS 格式。因此,它在一个系统的生命周期中只能使用一次。
感谢@jeremy 提供的有用提示。
关于c++ - WaitForSingleObject 信号过早 ImageMagick 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13576196/
我的测试代码: int SIZE = 1900; int[][] array = new int[SIZE][]; for (int i = 0; i < SIZE; i++) { array[i
我有一堆 WAV 文件和一个将它们复制到另一个目录的脚本,但使用 SoX 处理了一些文件。输出的文件都应该有 1 个 channel ,采样率不超过 44.1khz。我的大多数文件要么有一个以上的 c
我正在运行一个相当占用内存的 Python 脚本,但似乎我的机器正在提前终止进程。我安装了 16GB(并通过 lshw -class memory 确认),但我的进程似乎在使用量达到 4GB 左右时被
我很难确定在使用 .NET 的 HttpWebRequest 类调用远程服务器(特别是 REST Web 服务)时是否有办法处理潜在的连接问题。根据我的调查,WebClient 类的行为是相同的,这在
所以我有这个网址: http://test.com/afolder/who-else-wants-to-make-horror-movies%3f/ 这是 URL 编码版本: http://test.
我是一名优秀的程序员,十分优秀!