如何使用Windows中的系统调用从C打开图像?

时间:2018-09-20 18:23:55

标签: c windows

我有这个非常简单的代码来显示图像文件。在Mac中工作正常。 Windows如何做类似的事情?我需要在系统函数调用中使用什么?我正在使用cygwin,顺便说一句。

#include <stdio.h>
#include <stdlib.h>

int main (int nargs, char *argv[])
{   system("open image.png");       //  display image on mac previewer

    return 0;
}

1 个答案:

答案 0 :(得分:0)

您应该能够在cygwin中使用Windows API。然后,您可以使用ShellExecute(需要"Shell32.lib"

#include <windows.h>

int main(int nargs, char *argv[])
{
    ShellExecute(NULL, NULL, "c:\\path\\image.png", NULL, NULL, SW_SHOW);
    Sleep(1000);
    return 0;
}

Sleep的调用是可选的。在某些Windows版本中,如果程序立即返回,ShellExecute将失败。

另请参阅Using Win32 API in Cygwin applications