Okno ktore nie powinno sie pokazac

0

Czesc, napisal co takiego :

  f := TResourceStream.Create(hInstance,'dok1',RT_RCDATA);
  f.SaveToFile('Definicja_Schematu.pdf');
  ShellExecute(Handle,'print','Definicja_Schematu.pdf',nil,nil,SW_HIDE);  
  f.Free;

ale i tak laduje Acrobat'a dlaczego przeciez uzylem SW_HIDE, podobnie gdyby uzyl Worda.
Czy ktos wie o co tu chodzi ?.

0

Bo niby plik ktory odpalasz uruchamia sie jako ukryty ale Acrobat go zauwaza i otwiera sie do jego obslugi... Musisz znalezc acrobata po uruchomieniu tego pliku i go ukryc...
Albo odpalic nie plik tylko acrobata z parametrami (o ile tak sie da)

0

To będzie ciężka sprawa, być może znalazłeś jakiś bug w funkcji ShellExecute :d

Oto kawałek mojego helpa z Delphi:

"print" - The function prints the file specified by lpFile. The file should be a document file. If the file is an executable file, the function opens the file, as if "open" had been specified.

Jeżeli dobrze znam angielski to z tego wynika że ShellExecute traktuje pliki .pdf jak pliki wykonywalne :D

Nie wiem czy dużo można na to poradzić, może zaimportować kontrolkę pdf.ocx (Menu Component->Import ActiveX control->Acrobat Control for ActiveX), ale jak to zrobiłem i ustawiłem jej właściwość Visible na false to i tak nie chciała nic drukować (drukowanie działa tylko gdy kontrolka jest widoczna na formie :/ ).

0

Super a jak takie cos bedzie wygladac w kodzie ???

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0