CWinApp::ProcessShellCommand

CWinApp::ProcessShellCommanで、rCmdInfoを元に指定されたアクションを実行する。

CWinApp クラス | Microsoft Learn

ここからが本筋で、かなり複雑。

今回は引数をクリアに
今回は引数をクリアに

今回は引数をクリアに。

ここにブレークポイント貼って
ここにブレークポイント貼って

ここにブレークポイント貼って、

止まったらステップイン
止まったらステップイン

止まったらステップイン。

今回の本体、ここに入ります。
今回の本体、ここに入ります。

今回の本体、ここに入ります。

この状態だと、FileNewになってる。
この状態だと、FileNewになってる。

この状態だと、FileNewになってる。

AfxGetAppからのOnCmdMsg
AfxGetAppからのOnCmdMsg

AfxGetAppからのOnCmdMsg。

ステップインしてしまうとAfxGetAppの中なので、ここはいったんステップアウト。
ステップインしてしまうとAfxGetAppの中なので、ここはいったんステップアウト。

ステップインしてしまうとAfxGetAppの中なので、ここはいったんステップアウト。

その後、もう一度ステップインでここに入ってこれる。
その後、もう一度ステップインでここに入ってこれる。

その後、もう一度ステップインでここに入ってこれる。

中はさらに大変なので、飛ばして、最終的には下のOnFileNewには来ない。
中はさらに大変なので、飛ばして、最終的には下のOnFileNewには来ない。

中はさらに大変なので、飛ばして、最終的には下のOnFileNewには来ない。

メインウィンドウはあるから
メインウィンドウはあるから

メインウィンドウはあるから、

bResultがFALSEにもならない
bResultがFALSEにもならない

bResultがFALSEにもならない。

bResultがTRUEで最終的に返す。
bResultがTRUEで最終的に返す。

bResultがTRUEで最終的に返す。

ここに来るということはウィンドウは表示される。
ここに来るということはウィンドウは表示される。

ここに来るということはウィンドウは表示される。

Sample/mfc/CWinApp/ProcessShellCommand/src/CWinApp_ at master · bg1bgst333/Sample · GitHub