Проблема с ShellExecute
От: gs199 Россия  
Дата: 03.05.06 07:02
Оценка:
Хочу передать картинку, нарисованную моей прогой, в графредактор. Пишу (BCB):
  Graphics::TBitmap *Bitmap = new Graphics::TBitmap();
  Bitmap->Assign(Image1->Picture);
  Bitmap->SaveToFile("temp.bmp");
  ShellExecute(Handle, "open", "temp.bmp", NULL, NULL, SW_SHOWNORMAL);
  delete Bitmap;
//  Sleep(300);
  DeleteFile("temp.bmp");

Открывается мой любимый IrfanView со следующим баннером и с черным экраном:
D:\src\test\temp.bmp
Can't read file header!
Unknown file format!

Если снять комментарий с задержки, то все OK. Стало быть что-то не успевает. Здесь непонятно, почему это происходит при вызове редактора Задержка то стоит ПОСЛЕ выхода из редактора!
Подозреваю, что для корректной работы (без искусственной задержки) надо пользовать CreateProcess и WaitForSingleObject. Но как это конкретно для моего примера написать, не врублюсь. Подскажите, плиз!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.