2018年01月25日

コマンドプロンプトからGUIのプログラムを実行し待機したいときに

昨日ちょこっとだけ書いた、ステータスバー監視のプログラムを書こうと思ったら、監視しようとしていたのはステータスバーではなくで独自描画されたグラフィック領域で残念…の話の続き。

結局、監視するのではなく、そのソフトは処理終了後にプロセスを自動終了させるオプションを持っているので、プロセスの動作状態を監視しておけば良い、ということになりました。

つまり、子プロセスとしてそのソフトを起動(CreateProcess)し、WaitForSingleObject() API等で待機すれば良いということですね。

さて、ソフトの位置やオプションは引数で与えるとして、どうやってCreateProcess() に渡そうか。
コマンドプロンプトのプログラムなので、引数はarvc/argv で受け取ることになります。
これをCreateProcess() APIに渡すための引数にするのは、ちょっと面倒。
小間切れに分かれた文字列(argv[])を1つの文字列に再構成し、さらに、スペースが含まれる場合はダブルコーテーションで囲まなければなりません。メッチャ面倒。

GetCommandLine() APIを使おうかとも思いましたが、これは自身のプログラムファイル名も含んでしまうので、除去が面倒。

となると、C言語らしく、_spawnvp()関数に_P_WAIT付けて実行してしまえばよいんじゃないかと。

waitfor_program.png

すると、どうやらうまくいきました!

waitfor_program2.png

試しに、引数にNotepad.exeを与えてみると、メモ帳が起動し、親プログラムは待機。メモ帳を終了させると、親プログラムは終了。WaitForSingleObject() APIも書かずに、上手くいきました! やってみるもんだな。

…と、これをTwitter上で書いたところ、「start /wait」コマンドを使えば良いのではないかとツッコミが…!

し、知らなかった…。
そんな便利なオプションがstartコマンドに存在していたとは…。

無知は罪ですね。

posted by ayacy at 00:00 | Comment(0) | TrackBack(0) | プログラミング

2018年01月24日

違法無料物と戦う漫画業界とフリーライドに思うこと

昨日は少し早めに帰宅して、ある動画変換ソフトのステータスバーの値が変わったら、次の操作(ファイルコピー)を自動実行するようなツールを自作しようと意気込んでいたのだが、その動画変換ソフトのステータスバーは独自描画だったので検出できず。無念…。

(このアプローチについては無念だったのですが、寄せられたコメントで、プロセスの終了を検知して継続動作を作ることができることに気づきましたので、問題は解決しました)

無念ついでにTwitterを眺めていたのですが、「漫画村」というキーワードが目に付くようになっていたので、追っていました。
どうやら、著作権者に無断で、無料で漫画を公開している違法(脱法?)サイトらしいですね。
そういえば以前にもこの件を気にしかけていたことがあったのを、ちょっと思い出しました。

で、色々見てみると、

  • そもそも違法と認識していないユーザーが多そう。
    (法の網の目をくぐり抜けて脱法と述べている人もいるが、詳細は不明)
  • 無料だから当然こっちの方が便利と思うだろう。
  • 違法なこともそうだが、ウイルスやワームの感染源になっていることの周知が必要。
  • 違法以前の問題として、漫画家や編集者が食っていけなくなり、漫画文化が衰退していくことに、ユーザーは気づいていない。

等々。まぁ、違法なのでそもそも良くないことなのですが、それでも人はなぜか、違法物でも見ようとするのはなぜなのか。
アニメを見れば、アニメ開始時に画面下に「最近違法にネットにアップしている奴がいる」と表示されるとか、映画を観に行けば「映画泥棒」の映像を見せられるとか、とにかく違法物との戦いは後を絶ちません。

で、今日気になったのは、この意見でした。
狂った意見のように見えそうにもなるけど、もしかするとこれが自体の本質なんじゃないかなぁとも思えてきたり。


結局の所、「その場で快楽を得る」手段が得られれば良いだけで、適法かどうかとか、文化が潰れるとか気にしていたりしない。
違法サイトが原因で漫画が潰れても別の漫画に乗り換えるし(そもそも漫画が潰れたことにも気づかない)。
漫画文化が潰れても、他の快楽を得る手段に移るだけで、漫画文化があったことすら気にしない。気づかない。

世の中、これだけ快楽手段が溢れてしまっていますからね。ユーザーの時間を、映画、テレビ、音楽、ゲーム、スマホ、…など、様々な快楽が奪い合っている状況です。
現在の状態を「満腹の王様に食事を提供しあっている状態」なんて揶揄する人もいますけど、現在の社会における快楽手段提供の状況って案外そんなもんなのかも知れません。
そんな中の一つの存在「漫画」が、文化の存続をかけて/適法性をかけて呼びかけをしても、あまり効果がないのかも知れません。

なぜそう感じたかというと、理由は2つ。

続きを読む
posted by ayacy at 00:00 | Comment(0) | TrackBack(0) | インターネット

2018年01月23日

大雪の影響。エアコンが寒い

昨日は、以前から予報されていたとおり、大雪が降りました。
2013年以来(5年ぶり)とか、1984年以来(34年ぶり)とも言われる大雪だそうです。
ラニーニャ現象、黒潮の蛇行など、今年特有の様々な事情があって、予報通りというか、予報を越えるほどの大雪が降っているとのこと。
黒潮の蛇行が気象に与える影響については、ちょうど今週日曜日に、NHKのサイエンス・ゼロで放送していた内容でした。ちょうど良いタイミングの放送でした。

さすがに会社をお休みすることはできませんでしたが、自分が主催になっている午後の会議を午前にずらしまして、夕方に予定されていた課の会議を中止にするよう進言し、仕事に一区切り付いた15時くらいには退社しました。今こそBCPということで、持ち出しを許可されている会社PCを持って帰りまして、残りは在宅勤務です。

帰りの電車は、通勤ラッシュくらい混んでいたので、多くの人は、早期帰宅を選択できたようでした。
それでも17時頃は、品川駅大混乱の様子がTwitterで流れてくるなど、帰宅困難の様子が見て取れました。

今日の朝も、電車が動いているとは限りませんので、場合によっては在宅勤務でしょうね。
ちなみに、今日は気温が10℃くらいまで上がるらしいので、溶けかけた雪が上からドサッと落ちてきてケガをしないように注意が必要だそうですし。青空が見えたからといって、安心はできませんね。

ところで、BCPのために自宅に作業部屋を設けているのですが、作業部屋のエアコンの効きが悪いような気がする。
運転ランプが点滅してる。室外機が霜取りをしているっぽい。

シャープのTwitterアカウントで、室外機と雪の関係のページ(ダイキン)を紹介していました。
少なくとも室外機の回りは除雪が必要か…。

posted by ayacy at 00:00 | Comment(0) | TrackBack(0) | 日記