tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルタイトルバーとメニューバーを外部からAPIなどで消す方法
記事No11772
投稿日: 2008/03/14(Fri) 17:01
投稿者はるちゃん
実行ファイルになっているもの(EXE)のハンドルを取得して、タイトルバーとメニューバーを外部からAPIなどで消す(みえなくする)方法はないでしょうか?

[ツリー表示へ]
タイトルRe: タイトルバーとメニューバーを外部からAPIなどで消す方法
記事No11773
投稿日: 2008/03/14(Fri) 17:15
投稿者K.J.K.
# 「実行ファイルになっているもの(EXE)のハンドル」とは何?
# ウィンドウのハンドル、プロセスのハンドル、モジュールのハンドルなど
# EXEに関連付けられているものでも様々なハンドルが存在します。

あることはありますが、MSDNを読む限り、VB6単体ではかなり難しいでしょう。
Global Hookを出来るようにした上で、該当するプロセスにモジュールを
入り込ませてから、その中でSetWindowLongやRemoveMenuなどを呼ぶことに
なるでしょう。
# RemoveMenuはプロセス外での呼び出しが有効か無効かは調べていません。

[ツリー表示へ]
タイトルRe^2: タイトルバーとメニューバーを外部からAPIなどで消す方法
記事No11775
投稿日: 2008/03/14(Fri) 17:55
投稿者はるちゃん
> # 「実行ファイルになっているもの(EXE)のハンドル」とは何?
> # ウィンドウのハンドル、プロセスのハンドル、モジュールのハンドルなど
> # EXEに関連付けられているものでも様々なハンドルが存在します。
>
> あることはありますが、MSDNを読む限り、VB6単体ではかなり難しいでしょう。
> Global Hookを出来るようにした上で、該当するプロセスにモジュールを
> 入り込ませてから、その中でSetWindowLongやRemoveMenuなどを呼ぶことに
> なるでしょう。
> # RemoveMenuはプロセス外での呼び出しが有効か無効かは調べていません。

”モジュールのハンドル”はわかりませんが、
”ウィンドウのハンドル”や”プロセスのハンドル”は取ることはできます

[ツリー表示へ]
タイトルRe^3: タイトルバーとメニューバーを外部からAPIなどで消す方法
記事No11776
投稿日: 2008/03/14(Fri) 18:18
投稿者花ちゃん

メニューバーやツールバーは取り外す事ができても、タイトルバーは、ウィンドウの
一部のようなものなので、取り外すと言うより、タイトルバー無しのウィンドウを作る
必要があるかと、自アプリであっても実行中ともなれば、下記のように結構大変です。
http://hanatyan.sakura.ne.jp/vbhlp/TitleReleace.htm

他のアプリなら、他の方法を考えた方がいいかと。(諦めるも含めて)
(なぜ、タイトルバーの取り外しが必要なのか解らないので?)

# ツールバーは取り外さないのかな?

[ツリー表示へ]
タイトルRe^4: タイトルバーとメニューバーを外部からAPIなどで消す方法
記事No11794
投稿日: 2008/03/17(Mon) 10:12
投稿者はるちゃん
花ちゃんさん、KJKさん情報ありがとうございます

> 他のアプリなら、他の方法を考えた方がいいかと。(諦めるも含めて)
残念ながら、自作アプリではなく他のアプリです

> (なぜ、タイトルバーの取り外しが必要なのか解らないので?)
「ウィンドウいっぱいに表示部のみを出したい」ということになります

> # ツールバーは取り外さないのかな?
ツールバーはないアプリです

他のアプリなのでやっぱり無理っぽいですね...(><)

[ツリー表示へ]
タイトルRe^4: タイトルバーとメニューバーを外部からAPIなどで消す方法
記事No11796
投稿日: 2008/03/17(Mon) 11:32
投稿者はるちゃん
>メニューバーやツールバーは取り外す事ができても
タイトルバーは諦めるとしまして、メニューバーを外部から消すことができますか?

[ツリー表示へ]
タイトルRe^5: タイトルバーとメニューバーを外部からAPIなどで消す方法
記事No11797
投稿日: 2008/03/17(Mon) 12:31
投稿者花ちゃん
> タイトルバーは諦めるとしまして、メニューバーを外部から消すことができますか?

どのようなアプリなのか解りませんので、できるかどうかは確かではありませんが、
Excel (サンプルNo.446) や メモ帳のメニューバーの脱着(サンプルNo.450) は実現
しております。(どちらも方法は違います)

Win32 API関数のSetMenu あたりで検索して調べて見て下さい。

[ツリー表示へ]
タイトルRe^6: タイトルバーとメニューバーを外部からAPIなどで消す方法
記事No11816
投稿日: 2008/03/18(Tue) 14:26
投稿者はるちゃん
> Win32 API関数のSetMenu あたりで検索して調べて見て下さい。

    Dim lnghwnd         As Long
    lnghwnd = FindWindow(vbNullString, "アプリのキャプション名")  
    Dim Ret As Long
    Ret = SetMenu(lnghwnd, 0)

でメニューバーは消えました、ありがとうございます
タイトルバーの消去はVB6では諦めます、ありがとうございました

[ツリー表示へ]
タイトルRe: タイトルバーとメニューバーを外部からAPIなどで消す方法
記事No11781
投稿日: 2008/03/15(Sat) 09:41
投稿者K.J.K.
> ”モジュールのハンドル”はわかりませんが、
> ”ウィンドウのハンドル”や”プロセスのハンドル”は取ることはできます

これは要するに、用語を正しく使いましょう、ということです。
内容とはほとんど関係ないので#の後に書いています。

[ツリー表示へ]