少し悩んでいるのでお聞きします
API等で別アプリ(メモ帳など)を起動させると新規作成の状態で起動しますが
これを起動させるのだけど、フォームを表示させない(Application.ShowMainForm := False)のような事は可能なのでしょうか?
試したわけではないのですが、
ShellExecute(Handle, 'Open', PChar('notepad.exe'), '', '', SW_SHOW);
で、SW_SHOW の部分を SW_HIDE にするのはどうですか?
CreateProccess() などの他のプロセスを起動するAPIには、起動時にメイン
ウィンドウの大きさや位置、表示状態、タイトルなどを指定できるパラメータ
があります。行儀のよいアプリケーションは、自分が起動されたとき
GetStartupInfo() というAPIを使って、このパラメータを受け取り、それに従って
メインウィンドウの状態を決めます。しかし、Delphiでデフォルトで作られる
フォームアプリケーションのように、起動パラメータを必ずしも尊重しない
多くのアプリケーションは、起動側でその状態を制御することはできません。
ツイート | ![]() |