タイトルのとおりなんですが、Win32API CreateProcess を
通常の実行ファイルから使う場合、それとWindowsサービスから使う場合。
それぞれに同じ引数を渡して、結果が変わるんですね。
セキュリティ絡みと思ったけれども ::GetLastError()の戻り値は
#126(The specified module could not be found.)。
事の起こりは次の引数...
lpApplicationName = NULL, lpCommandLine = "c:\\hoge.exe 123"
アプリケーションでは成功(c:\hoge.exeにパラメータ123が渡る。argc == 2)
サービスからは失敗(前述のエラー)。
ならば厳密に。
lpApplicationName = "c:\\hoge.exe", lpCommandLine = "c:\\hoge.exe 123"
これでサービスからも起動できました。
・・・これは一体どういうことざんしょ。ファイルが見える/見えない?
いやでもサービスはSYSTEM権限のはずだし。
どうも合点が行かないのですが、雑談以外の初日記はここまでww