こんにちは。
開発環境は、delphiXE3 enterprise(update2適用)、win7(sp1)です。
VBをやっていたとき、excelとかインストールされているかどうか知るにはcreateobject("excel.application")を実行してインスタンスが作成されるかどうか見て判断していました。
それは、excelがactivex.exeで作られているから、インスタンスが作成されるものだと思っていました。
今回自作アプリケーションがインストールされているかどうかを知りたいと思っています。
けど、自作アプリケーションは通常のexeです。
createoleobjectを使ってだと思うんですが、どうすれば良いのか分かりません。
どなたか教えていただけないでしょうか。
よろしくお願いします。
インストーラでインストールするときに、導入フォルダ等の情報をレジストリに書き込む
とか、
(導入フォルダが固定なら)導入フォルダに実行ファイルが存在するか
とか、では、ダメですか?
教えていただいたのですが、ある方法を思いつき解決しました。
findwindowを使うやり方です。
戻り値が0ならインストールされていないと判断しました。
もちろんfindwindowの前にapplication.processmessagesを書いています。
お騒がせしました。
ありがとうございました。
これはイラッときたw
ン
ニラだと「インストールされているかどうか」ではなく、せいぜい自アプリが今実行中かどうかしかわからないのでは……
(それもかなり確実性低いと思いますが)
具体的にどうやっているのかわかりませんが、本当にそれで解決でいいのかナー?と心配になる内容ではありますね。
推測ですが、仮にモナなりテミなりして
実際にアプリケーションのウィンドウが出てくるかどうかで判断しようとしているんだとしたら
いや、そこは関数の返り値見ましょうよと言いたいです。
ツイート | ![]() |