なんとびっくりCreateProcessだと問題なく、ShellExecute(Ex)だと問題発生、ということだと特定しました。
以前から時々、タスクバーからのFirefoxがうまく起動しないことがありましたが、時々だったものが44では必ずになった、ということのようです。私の環境に問題があるのかもしれませんが、Firefoxでだけ起こるのです。
それぞれのSTARTUPINFOに有意な違いはありませんでしたし、環境変数も同一でした。ともかくCreateProcessなら全く問題が出なくなる、ということがわかっただけでも前進です。
そういうわけで、後述のようなvbsファイルを用意して、タスクバーにあるFirefoxのリンク先をそっちにしておきました。RunがShellExecuteでExecがCreateProcessのようでして。
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.CurrentDirectory = "C:\Program Files (x86)\Mozilla Firefox"
objShell.Exec ("C:\Program Files (x86)\Mozilla Firefox\firefox.exe")
(追記2015/02/15)
44.0.2で修正された模様。ちなみに上記vbsスクリプトは2/10のWindows Updateで利かなくなっており、Win32でCreateProcess APIを使う簡単なexeを別途作ったりしました。
以前から時々、タスクバーからのFirefoxがうまく起動しないことがありましたが、時々だったものが44では必ずになった、ということのようです。私の環境に問題があるのかもしれませんが、Firefoxでだけ起こるのです。
それぞれのSTARTUPINFOに有意な違いはありませんでしたし、環境変数も同一でした。ともかくCreateProcessなら全く問題が出なくなる、ということがわかっただけでも前進です。
そういうわけで、後述のようなvbsファイルを用意して、タスクバーにあるFirefoxのリンク先をそっちにしておきました。RunがShellExecuteでExecがCreateProcessのようでして。
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.CurrentDirectory = "C:\Program Files (x86)\Mozilla Firefox"
objShell.Exec ("C:\Program Files (x86)\Mozilla Firefox\firefox.exe")
(追記2015/02/15)
44.0.2で修正された模様。ちなみに上記vbsスクリプトは2/10のWindows Updateで利かなくなっており、Win32でCreateProcess APIを使う簡単なexeを別途作ったりしました。