Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> (PHP) Odpalanie programu zewnętrznego w tle (niewidzialnie)
mikolajjj
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 23.08.2008

Ostrzeżenie: (0%)
-----


Witam,
uporałem się (mniej więcej z wykonywaniem screenshoota strony. korzystam, jak w manualu, z interfejsu COM. nie jest to w pełni satysfakconujące rozwiązanie (i serwer i klient musi być na Windzie, a screen generuje się tylko na Internet Explorerze), ale chyba doszedłem do ściany, inaczej się chyba nie da. kod wygląda następująco

  1. <?php
  2. $browser = new COM("InternetExplorer.Application");
  3. $handle = $browser->HWND;
  4. $browser->Visible = true;
  5. $browser->Fullscreen = true;
  6.  
  7. $browser->Navigate("http://www.google.com/");
  8.  
  9. /* Still working? */
  10. while ($browser->Busy) {
  11. com_message_pump(4000);
  12. }
  13. $im = imagegrabwindow($handle, 0);
  14. $browser->Quit();
  15. imagejpeg($im, "image.jpg");
  16. imagedestroy($im);
  17. ?>
  18.  


Teraz przy odpaleniu wypluwa mi IE w fullscreenie, a po załadowaniu automatycznie zamyka. chodzi mi o to czy istnieje możliwość, aby to działo się niewidzialnie, żeby system otwierał IE w celu wygenerowania screena, ale jakby w tle, aby użytkownik (korzystający np. z ff) nie musiał tego widzieć. Wybaczcie, ale inaczej tego nie potrafię zwerbalizować, chyba wiecie o co mi chodzi.

dodam, że jeśli zakomentuję linijkę z Visible, otrzymuję czarną grafikę.

szukałem jakiejś dokumentacji do HWND ale nie znalazłem nic sensownego.

Ten post edytował mikolajjj 4.09.2012, 20:49:33
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
webdice
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Spróbuj:

  1. $browser->Visible = false;
Go to the top of the page
+Quote Post
mikolajjj
post
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 23.08.2008

Ostrzeżenie: (0%)
-----


też czarne zapisuje
Go to the top of the page
+Quote Post
vermis
post
Post #4





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

Ostrzeżenie: (0%)
-----


No ale ten kod się wykonuje na serwerze, a nie u klienta, czyli najwyżej admin zobaczy wyskakujące IE. Klient w przeglądarce dostaje tylko obrazek z serwera. Pewnie pracujesz na localhost (czyli na serwerze) stąd masz taki efekt.
Go to the top of the page
+Quote Post
mikolajjj
post
Post #5





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 23.08.2008

Ostrzeżenie: (0%)
-----


ok, fakt, ale czy znajdę jakiś hosting z obsługą IE? potrzebuję (jakkolwiek) robić screenshot przez przeglądarkę (chodzi o usability, aby użytkownik nie musiał bawić się dodatkowym softem, tylko mógł zrobić screenshota od razu w przeglądarce), to dla mnie o tylko ważne, że potem obraz ma być przycinany.

czy znajdę jakieś sensowne rozwiązanie?
Go to the top of the page
+Quote Post
vermis
post
Post #6





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

Ostrzeżenie: (0%)
-----


Ale ty chcesz robić zrzut tego co klient widzi na ekranie, czy zapisać obraz strony www? Teraz już nie za bardzo wiem jak jest cel.

Ten post edytował vermis 5.09.2012, 11:22:01
Go to the top of the page
+Quote Post
mikolajjj
post
Post #7





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 23.08.2008

Ostrzeżenie: (0%)
-----


użytkownik coś robi na stronie (jakaś funcjonalność oparta na flashu), a potem zapisuje sobie screen tej strony. chodzi o uwzględnienie zmian zmian na stronie.
Go to the top of the page
+Quote Post
vermis
post
Post #8





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

Ostrzeżenie: (0%)
-----


Rozumiem. Żeby zrobić to po stronie serwera musiałbyś mieć możliwość odtworzenia tego co zapisał klient i co aktualnie widać. Jeśli to jakaś aplikacja oparta w całości na flashu to może lepiej wykorzystać flasha do zrzucenia widocznej części do pliku graficznego.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 00:02