質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Q&A

解決済

1回答

3975閲覧

非表示になりませんか

hoshi0306

総合スコア13

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

0グッド

0クリップ

投稿2015/10/29 11:45

現在、VBSのRUNメソッドにて〇×.exeを非表示にして実行しています。
〇×.exeのメインウインドは確かに非表示ですが、子のウインドが出現すると、子のウインドは表示されます。
その時、タスクマネージャーでは、〇×.exeのイメージ名が2つ
出ています。1つは、元の非表示の分。もう1つは、子のウインドの分です。
〇×.exeは、単独のソフトで、〇×.exe以外のDLLファイル等の別のファイルはありません。インストールもしていません。

邪魔なので子のウィンドも非表示で実行、又は、子のウィンドが出現後すぐに非表示にしたいのですが、何か良い手段はないですか?

自分ながら考えてみたのは、全てのウインドを調べ同じイメージ名のファイルが有れば、全てそのイメージ名のタスクを非表示に
出来たらいいのかと考えて、 EnumWindows()関数を使えば
どうにかなるのかと、VC++にて色々してみましたがどうも
上手く出来ません。知恵を下さいませんか?お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

前の質問の続きと考えてよいですか?
親ウィンドウを非表示にできたのであれば、その子ウィンドウはEnumChildWindows()を使ってウィンドウハンドルを取得できます。

そうやって取得したウィンドウハンドルを使ってShowWindow()で非表示にできると思います。

ただ、exeのつくりにもよると思いますが、VC++でMFCを使って作られたもので、表示されているウィンドウがモーダルダイアログだとすると、ShowWindow()では非表示にできなかったはずです(ちょっと自信なし)。

そうなると元のexeに手を入れるしかないと思います。

投稿2015/10/29 13:06

KoichiSugiyama

総合スコア3041

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi0306

2015/10/30 11:29

私では何遍やってみても、ShowWindow()関数が認められなくエラーの嵐です
KoichiSugiyama

2015/10/30 11:43

エラーとは具体的にどういうエラーでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問