ページ 11

エディタの終了を待つ

Posted: 2010年3月07日(日) 10:37
by Ko
お世話になります。
プログラム中でエディタを起動し、その終了を待って次の処理をする。
ということがしたいのですが、下記のコードで、家のデスクトップ(Vista Home SP2)
や会社のノート(XP Home SP)では、期待通りに動作するのですが、会社の別の
ノート(Vista Home SP2)ではエディタの終了を待たずに次の処理に移ってしまい
ます。

コード: 全て選択


	Dim sei As SHELLEXECUTEINFO
	sei.cbSize = SizeOf( SHELLEXECUTEINFO)
	sei.fMask = SEE_MASK_NOCLOSEPROCESS
	sei.hwnd = hMainWnd
	sei.lpVerb = "Open"
	sei.lpFile = pFileName
	sei.lpParameters = ""
	sei.lpDirectory = ""
	sei.nShow = SW_SHOWNORMAL
	ShellExeWait= ShellExecuteEx( sei)
	’WaitForInputIdle( sei.hProcess, 5000)	'起動待ち※いれても効果無し
	While WaitForSingleObject( sei.hProcess, 1000)= WAIT_TIMEOUT	'終了待ち
	Wend
ShellExecuteEx・WaitForSingleObjectの戻り値は正常で、エディタが
起動もしていないのにWaitForSingleObjectのループを抜けてしまいます。
原因が全くわからず行き詰まっています。どなたかアドバイスをお願いします。

AB5.0 CP3
Vista Home SP2[/code]

Posted: 2010年7月29日(木) 03:00
by HSAB
openproccess()ではだめなのけ?