Cygwinでもopen!!

MacOSXとかだとターミナルからファイルに関連づけられたアプリケーションを起動するのにopenというコマンドを使用して、ファイルを開くことが出来ますよね。実はcygwinでも以下のコードで実装できるようです。

open.c

#include <windows.h>

int main(int argc, char **argv){
    HINSTANCE ret;

    if(argc < 2){
        printf("usage: open filename\n");
        exit(-1);
    }

    ret = ShellExecute(NULL, "open", argv[1], NULL, NULL, SW_SHOWNORMAL);

    if((int)ret < 32){
        printf("err.\n");
    }
}


たったこれだけです。あとはこのopen.cを以下の要領でコンパイルおよび配置してください。
$ gcc -DWIN32 open.c -o open.exe
$ mv open.exe /usr/bin/

これでCygwinからファイルを開くことが出来ます。例としてhoge.txtを開くなら
$ open hoge.txt

メモ帖が起動するはずてす。
最近、WindowsがCUI化しています…。

あと、この情報はOpenGLについて調べていたところ、ここのページで偶然見つけたものです。ありがとうございました。

※(2010/2/2追記) 実はopenより高機能な、cygstartというコマンドがあったりします。

January 08, 2004 00:22 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク

コメント

コメントする