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/
$ mv open.exe /usr/bin/
これでCygwinからファイルを開くことが出来ます。例としてhoge.txtを開くなら
$ open hoge.txt
メモ帖が起動するはずてす。
最近、WindowsがCUI化しています…。
あと、この情報はOpenGLについて調べていたところ、ここのページで偶然見つけたものです。ありがとうございました。
※(2010/2/2追記) 実はopenより高機能な、cygstartというコマンドがあったりします。
コメント
コメントする
- 匿名でのコメントは受け付けておりません。
- お名前(ハンドル名可)とメールアドレスは必ず入力してください。
- メールアドレスを表示されたくないときはURLも必ず記入してください。
- コメント欄でHTMLタグは使用できません。
- コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
- コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。
- 投稿ボタンを押してエラーがでなければ、投稿は成功しています。反映されるまでには少し時間がかかります。