プロが教えるわが家の防犯対策術!

先日、以下の質問をさせていただきました。
http://oshiete1.goo.ne.jp/qa5753210.html

VB側での制御が難しいと思われたので、起動オプションがないかを調べて、いろいろと試してみたところ、Safari.exeのショートカットを作成してショートカットのウィンドウサイズを「最小化」に指定すると、Safariが最小化で起動しました。

これは、内部的には最小化で起動するように指定ができているのだと思うのですが、ショートカットのプロパティで「最小化」を指定した場合、どのような処理が行われているのでしょうか?
「Safari.exe」に何かの起動オプションが付いているのでしょうか?

お分かりになるかた、おられましたら教えていただきたく書き込みさせていただきました。

あと、こういう場合にOSはどのような処理を行っているか、確認できるようなツールはないでしょうか?(キーロガーのような)
ショートカットを起動したときに、どのようなコマンドが実行されているか確認できるようなソフトはないでしょうか?

宜しくお願いします。

A 回答 (3件)

私の場合ですが、このような場合は、シュートカットであれ、ファイルやフォルダであれ、shell操作であるわけですから、いつも ShellExecuteEx または ShellExecute を使用しています。


表示方法は SHELLEXECUTEINFO Structure の nShow で指定すれば、下記の中から任意に設定できます。
SW_HIDE
SW_MAXIMIZE
SW_MINIMIZE
SW_RESTORE
SW_SHOW
SW_SHOWDEFAULT
SW_SHOWMAXIMIZED
SW_SHOWMINIMIZED
SW_SHOWMINNOACTIVE
SW_SHOWNA
SW_SHOWNOACTIVATE
SW_SHOWNORMAL

-----マイクロソフトサイト参照
---ShellExecuteEx
http://msdn.microsoft.com/en-us/library/bb762154 …
---SHELLEXECUTEINFO Structure
http://msdn.microsoft.com/en-us/library/bb759784 …
    • good
    • 0
この回答へのお礼

アドバイスありがとうございました。
結局、AutoSizerというアプリ側でSafariのウィンドウの制御をすることにしました。

お礼日時:2010/05/13 18:14

No.2 のタイプミス訂正です。


誤:「シュートカットであれ、」
正:「ショートカットであれ、」

> ショートカットのウィンドウサイズを「最小化」に指定すると、Safariが最小化で起動しました。

この意味が判然としませんが、
「ショートカット->プロパティで「実行時の大きさ」を「最小化」に指定しておくと」
と解釈しました。
そのショートカットを実行する際にプロパティを参照して「通常のウィンドウ」「最小化」「最大化」を判定しているのでしょう。
同じプログラムについて複数のショートカットを作成して「実行時の大きさ」を異なる指定にしておけば、それぞれ異なる大きさの表示になりますので、このプロパティを参照していることが解ります。

なお、No.2の nShowの値は複数の組合せが可能です。
    • good
    • 0

>これは、内部的には最小化で起動するように指定ができているのだと思うのですが、ショートカットのプロパティで「最小化」を指定した場合、どのような処理が行われているのでしょうか?



VBとかを使っていると全く見えないのですが、CなどでWindowsアプリケーションを作成する際にエントリポイントのWinMain関数の第4引数に、一般的に
int nCmdShow
なるモノが有ります。
WinMain:http://msdn.microsoft.com/ja-jp/library/cc364870 …
例えば、
>ショートカットのプロパティで「最小化」を指定した場合
はnCmdShowがSW_SHOWMINIMIZED(かな?SW_MINIMIZEかも)になり、
これがShowWindowで指定されると最小化状態で起動されるという仕組みです。
ShowWindow:http://msdn.microsoft.com/ja-jp/library/cc411211 …

詳しくはWindowsSDKを勉強してください。
http://homepage2.nifty.com/c_lang/index_sdk.html


>あと、こういう場合にOSはどのような処理を行っているか、確認できるようなツールはないでしょうか?(キーロガーのような)

SPY++とか使うとそれっぽいことが出来るかもしれません(すみません、適当です)。

>ショートカットを起動したときに、どのようなコマンドが実行されているか確認できるようなソフトはないでしょうか?

Ollydbgのようなデバッガで機械語で追って行くいくしかないかと思います。


以上参考までに。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございました。
結局、AutoSizerというアプリ側でSafariのウィンドウの制御をすることにしました。

お礼日時:2010/05/13 18:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!