2012年11月16日

いろいろ、ウィンドウを持たないプログラム

Wed Mar 3 18:19:44 2010
あるフリーのsyslogサーバを使っていたら、delphi7でできているということだった。
俺も作ってみよう。

Thu Jan 27 06:33:34 2011
どうもお久しぶりです。
b.exeという自分で作った「アプリケーション」が重宝している。

これのショートカットをWindowsのタスクバーの「クイック起動」に作っておき、それをクリックするとそのときのデスクトップをキャプチャし、年月日時刻をファイル名として「マイピクチャ」に保存する。ごく簡単で、しかも誰かの書いたコードを借用して、付け足したのではなく余計な部分を取り除いた。

そしてこれはVisual C++で作った。以前買ったことがあり、それではほとんど何も作らなかったのだが、これだけ作った。

このアプリの何がいいかというと、起動してもフォームを表示せず、なにも操作せずにデスクトップのスクリーンショットを保存して終了することだ。「スクリーンショットを取得しますか?」「名前を指定してください」「保存するフォルダを指定してください」「同じ名前のファイルが存在します。上書きしますか?」「終了してよろしいですか?」などという面倒くさいことを一切きかない。

これを使うのはWEBで何かして問い合わせ番号みたいなものが表示されたときとか、メモしておきたい画面があるときとか、右クリックしてコピーするのが禁止されている写真を保存するときなどに使う。とても便利なので職場でも使おうと思ったが、アイコンが無い。いつもアイコンの変更をして、Windowsがもっているカメラのアイコンに変更しているのだが、面倒だからアイコンを組み込んでしまいたい。Delphiではやり方を知っているが、VC++ではどうするのか。

というわけでVisual C++ Expressをインストールしてみる。
「Visual Studioは無料になった」というニュースを見たおぼえがあったのだが、
それはあくまで評価用に使用できるだけのようだ。

最近はなんでもかんでも、OSからアプリからほとんどカネを払わずにできるようになったが、
それに付随する煩雑な仕事を考えると、数千円、数万円を払ったほうがマシだと思うことがよくある。

それはさておき、アイコンの変更ができない。
私の持っていたvc++はたしか2003とかで、2010で開こうとしたら変換された。

「リソース」というところに普通ならアイコンが作られるようだが、もともと無かったためだろうか、何もない。

あらたにアイコンを追加する方法もよくわからない。

2003を実家へとりに行き、そこでアイコンを登録しようか。

たいしたアプリではないから2010で作り直せばいいのだろうが、どうすればいいかわからない。

「WindowsアプリだがWindowを表示しない」というのはとても重要なことだ。
それはコンソールアプリであるとか、DLLであるとかいうことではない。

スクリーンショットを取るのだから、Windowsアプリでなければならない。
しかし、やることはそのときのデスクトップのショットを取ってファイルとして保存すると決まっているから、
ユーザーの操作が介入する余地はない。したがってアプリケーションのWindowsを表示する必要はない、というか、表示してはならない。

DelphiでWindowを表示しないようにする方法を調べるのが一番早いかな。
キャプチャのしかたはさんざんやったから。

「コンソールアプリケーション」って、コマンドプロンプトが開いてしまう。それはイヤだ。
クリックしたら姿を見せずに実行して欲しい。

「フォームを表示しない」のではなく、そもそもフォームを持たないのである。

とりあえず、

Application::Run(gcnew Form1());

を、

Application::Run();

にしたら、何も表示しなくなった。

さて、それから?

Fri Jan 28 06:25:39 2011
ファイルを保存するのはマイピクチャではなく実行ファイルが存在するフォルダである。
マイピクチャにすると、「マイピクチャはどこか」という判断が必要になる。
それも余計だ。

われながらすばらしい。
アイコンさえ組み込めたら、どこかに公開しよう。

ちなみになんでb.exeかというと、最初につけた名前がa.exeで、その次だからだ。

インストールされていた2005を消して、2007を入れなおす。
時間がかかる・・・

まだやってるよ

7で完成してたな。その後はなんだかわけがわからん。
多分、ヘルスバーグが抜けたのがその頃なんだろう。

と思ったら彼が抜けたのは1995年で、しかも「リストラ」によるものだったらしい。
「裏切り者」とか言ってゴメン。

つまり彼はDelphiのごく初期の開発しかしてなかったということだ。

インストーラ2回動かしたっぽい。

ちょっと時間かかりすぎだな。
OSだってこんなにかかんないよ。

Fri Jan 28 08:09:19 2011
「ウィンドウを持たないプログラム」の続きであるが、「常駐」もやめて欲しい。「サービス」もダメ。必要なときだけ登場し、必要な用事を済ませたら跡形も無く消えて欲しい。


posted by delsoli at 18:46| delphi | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。