デスクトップを表示するには?

解決


たき  2003-04-04 13:55:12  No: 77572  IP: [192.*.*.*]

フォーム上に貼り付けられたボタンを押すと、
デスクトップ画面を表示するようにしたいのですが、
どういう記述をすればいいのか分かりません。
どなたかご教授願えませんでしょうか。

動作としては、クイック起動の『デスクトップの表示』を
クリックした場合と同じ動作を起こさせたいのですが。

編集 削除
魔界の仮面弁士  2003-04-04 14:29:38  No: 77573  IP: [192.*.*.*]

これで如何でしょうか。

デスクトップの表示
   CreateObject("Shell.Application").ToggleDesktop
すべて最小化
   CreateObject("Shell.Application").MinimizeAll
元に戻す
   CreateObject("Shell.Application").UndoMinimizeAll

編集 削除
たき  2003-04-04 15:27:35  No: 77574  IP: [192.*.*.*]

早いレスどうもありがとうございます。
おかげで上手く出来ました。
たった1行ですむなんて。

もう一つ質問があるのですが、
CreateObject("Shell.Application").ToggleDesktop
CreateObject("Shell.Application").MinimizeAll
の違いはあるのでしょうか?

MinimizeAllのほうはどんな処理をしているのか想像できるのですが、
ToggleDesktopのほうがどのような処理をしているのかが分かりません。
内部的にはどちらも同じ処理をしているのでしょうか?

両方とも同じようにデスクトップが表示されるのですが。
もしお分かりになるのでしたら、教えていただけないでしょうか?
よろしくお願いします。

編集 削除
とろ  2003-04-04 16:19:34  No: 77575  IP: [192.*.*.*]

すべて最小化の場合、
最小化ボタンのないウィンドウは
そのまま画面に表示されてしまいます。

それに対し、デスクトップを表示の場合、
最小化ボタンのないウィンドウは
非表示にし、画面上になにもウィンドウが
ない状態になります。

最小化ボタンのないウィンドウっていうのは、
VB フォームでいうところの
BorderStyle = 1 '固定(実線) のウィンドウです。
それなので、このウィンドウを表示させてある状態で、
上の2つを実行してみれば、違いが分かります。

編集 削除
魔界の仮面弁士  2003-04-04 17:11:23  No: 77576  IP: [192.*.*.*]

> 最小化ボタンのないウィンドウっていうのは、
> VB フォームでいうところの
> BorderStyle = 1 '固定(実線) のウィンドウです。
正しくは、「MinButton = False」のフォームです。
BorderStyle = 1 かどうかは関係ありません。(^^;)


>> MinimizeAllのほうはどんな処理をしているのか想像できるのですが、
>> ToggleDesktopのほうがどのような処理をしているのかが分かりません。

メモ帳などで、「ファイルを開く」ダイアログなどを表示している時に
実行してみると、その違いがわかるかと思います。
なお、キーボード操作でいえば、
  デスクトップの表示:
      [Win] + [D]
  すべて最小化:
      [Win] + [M]
  元に戻す:
      [Win] + [Shift] + [M]
に相当します。

編集 削除
とろ  2003-04-04 17:45:12  No: 77577  IP: [192.*.*.*]

> 正しくは、「MinButton = False」のフォームです。
> BorderStyle = 1 かどうかは関係ありません。(^^;)

失礼いたしました。 <(_^_)>

それにしても、 [Win] + [D] があったとは...
[Win] + [M] をいつも使用していました。
Windows を使い始めて8年、初めて知りました。

タメになりますねぇ。

編集 削除
たき  2003-04-14 11:20:14  No: 77578  IP: [192.*.*.*]

返事が遅くなりまして申し訳ありません。
とろさん、魔界の仮面弁士さん、本当にどうもありがとうございました。
これからもよろしくお願いいたします。

編集 削除