Autor Téma: TWebbrowser a doplňky  (Přečteno 6585 krát)

Offline jarex

  • Plnoletý
  • ***
  • Příspěvků: 225
  • Karma: 5
TWebbrowser a doplňky
« kdy: 03-07-2012, 12:41:02 »
Nevěděl   by někdo, jak zařídit , aby Twebrowser stahoval a  instaloval doplňky ActiveX? Pokud byl již doplňek instalován v IE, tak to jede i v TWebbrowseru. Ale jakmile to v IE není, v TWebbrowseru se to nestahne a nenainstaluje.

Díky moc za rady.
D2007 Professional

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3006
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:TWebbrowser a doplňky
« Odpověď #1 kdy: 03-07-2012, 16:02:14 »
Jen pro zajímavost, to je nějaký tvuj doplněk? Nebo třeba něco oficiálního?
Embarcadero MVP - Czech republic

Offline jarex

  • Plnoletý
  • ***
  • Příspěvků: 225
  • Karma: 5
Re:TWebbrowser a doplňky
« Odpověď #2 kdy: 03-07-2012, 18:06:36 »
Jedná se o zobrazení kamery v prohlížeči z kamerového systému Vguard.  Potřebný dopněk si IE automaticky stáhne a nainstaluje sám. TWebbrowser ale ne.
D2007 Professional

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1174
  • Karma: 44
    • Verze Delphi: 7, 2010
Re:TWebbrowser a doplňky
« Odpověď #3 kdy: 03-07-2012, 20:32:14 »
tipuju/hadam, ze to zjistuje IE jako program, ne jen vykreslovaci cast,
takze bys musel z kodu zjistit, jestli tam je ActiveX a pripadne zavolat instalaci

Offline jarex

  • Plnoletý
  • ***
  • Příspěvků: 225
  • Karma: 5
Re:TWebbrowser a doplňky
« Odpověď #4 kdy: 03-07-2012, 20:57:14 »
Ano. Je to program. Nevyjádřil jsem se přesně. Akorát tedy nevím kdy a jak tu instalaci zavolat. Tu instalaci podstrci ten server na kterym ty kamery bezi. Ale jak se to deje netusim.
D2007 Professional

ups

  • Host
Re:TWebbrowser a doplňky
« Odpověď #5 kdy: 04-07-2012, 09:57:03 »
zkus mrknout na

http://msdn.microsoft.com/en-us/library/ms537184%28v=vs.85%29.aspx

CoInternetSetFeatureEnabled
FEATURE_RESTRICT_ACTIVEXINSTALL ....

Offline jarex

  • Plnoletý
  • ***
  • Příspěvků: 225
  • Karma: 5
Re:TWebbrowser a doplňky
« Odpověď #6 kdy: 04-07-2012, 10:19:06 »
Hmmm. Díky, ale to asi nedam :-) 
D2007 Professional

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1174
  • Karma: 44
    • Verze Delphi: 7, 2010
Re:TWebbrowser a doplňky
« Odpověď #7 kdy: 04-07-2012, 12:27:30 »
co bys nedaval ... proste v programu zavolas CoInternetSetFeatureEnabled se spravnym potrebnym parametrem ;)
takze zrejme ten ActiveX panel tam jde povolit

PS: pripadne googli "delphi CoInternetSetFeatureEnabled" a vyjede ti, jak to pouzit ...

Offline jarex

  • Plnoletý
  • ***
  • Příspěvků: 225
  • Karma: 5
Re:TWebbrowser a doplňky
« Odpověď #8 kdy: 04-07-2012, 20:38:31 »
Mam s tim evidentne problem. Rad bych si tu fci zavolal, ale to by mi ji musel brat kompilator. Vsude se pise neco o urlmon.dll. V uses jsem pridal urlmon, ale stejne mi to tu funkci nebere. Navic , jestli si to tedy myslim spravne , tak co je v uses je .dcu
Tak ted nevim, jestli je to nejak nativni, nebo musim tu knihovnu urlmon.dll registrovat. Zkratka si nevim s tim nejak rady.
D2007 Professional

ups

  • Host
Re:TWebbrowser a doplňky
« Odpověď #9 kdy: 04-07-2012, 21:13:32 »
no musis si tu fci sam naimportovat. v delphi bohuzel stejne jako hromada dalsich neni.....

Kód: Delphi [Vybrat]
  1. unit Unit2;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, StdCtrls;
  8.  
  9. type
  10.   TForm2 = class(TForm)
  11.     Button1: TButton;
  12.     procedure Button1Click(Sender: TObject);
  13.   private
  14.     { Private declarations }
  15.   public
  16.     { Public declarations }
  17.   end;
  18.  
  19. var
  20.   Form2: TForm2;
  21.  
  22. implementation
  23.  
  24. {$R *.dfm}
  25.  
  26. const
  27.   SET_FEATURE_ON_THREAD = $00000001;
  28.   SET_FEATURE_ON_PROCESS = $00000002;
  29.   SET_FEATURE_IN_REGISTRY = $00000004;
  30.   SET_FEATURE_ON_THREAD_LOCALMACHINE = $00000008;
  31.   SET_FEATURE_ON_THREAD_INTRANET = $00000010;
  32.   SET_FEATURE_ON_THREAD_TRUSTED = $00000020;
  33.   SET_FEATURE_ON_THREAD_INTERNET = $00000040;
  34.   SET_FEATURE_ON_THREAD_RESTRICTED = $00000080;
  35.  
  36.   FEATURE_OBJECT_CACHING = 0;
  37.   FEATURE_ZONE_ELEVATION = 1;
  38.   FEATURE_MIME_HANDLING = 2;
  39.   FEATURE_MIME_SNIFFING = 3;
  40.   FEATURE_WINDOW_RESTRICTIONS = 4;
  41.   FEATURE_WEBOC_POPUPMANAGEMENT = 5;
  42.   FEATURE_BEHAVIORS = 6;
  43.   FEATURE_DISABLE_MK_PROTOCOL = 7;
  44.   FEATURE_LOCALMACHINE_LOCKDOWN = 8;
  45.   FEATURE_SECURITYBAND = 9;
  46.   FEATURE_RESTRICT_ACTIVEXINSTALL = 10;
  47.   FEATURE_VALIDATE_NAVIGATE_URL = 11;
  48.   FEATURE_RESTRICT_FILEDOWNLOAD = 12;
  49.   FEATURE_ADDON_MANAGEMENT = 13;
  50.   FEATURE_PROTOCOL_LOCKDOWN = 14;
  51.   FEATURE_HTTP_USERNAME_PASSWORD_DISABLE = 15;
  52.   FEATURE_SAFE_BINDTOOBJECT = 16;
  53.   FEATURE_UNC_SAVEDFILECHECK = 17;
  54.   FEATURE_GET_URL_DOM_FILEPATH_UNENCODED = 18;
  55.   FEATURE_TABBED_BROWSING = 19;
  56.   FEATURE_SSLUX = 20;
  57.   FEATURE_DISABLE_NAVIGATION_SOUNDS = 21;
  58.   FEATURE_DISABLE_LEGACY_COMPRESSION = 22;
  59.   FEATURE_FORCE_ADDR_AND_STATUS = 23;
  60.   FEATURE_XMLHTTP = 24;
  61.   FEATURE_DISABLE_TELNET_PROTOCOL = 25;
  62.   FEATURE_FEEDS = 26;
  63.   FEATURE_BLOCK_INPUT_PROMPTS = 27;
  64.   FEATURE_ENTRY_COUNT = 28;
  65.  
  66. type
  67.   PCoInternetSetFeatureEnabled = function (Feature: DWORD; Flags: DWORD; Enable: Boolean): HResult; stdcall;
  68.  
  69. var
  70.   CoInternetSetFeatureEnabledF: PCoInternetSetFeatureEnabled = nil;
  71.   hURLMon: THandle = 0;
  72.  
  73. function CoInternetSetFeatureEnabled(Feature: DWORD; Flags: DWORD; Enable: Boolean): HResult;
  74. begin
  75.   if Assigned(CoInternetSetFeatureEnabledF) then
  76.     CoInternetSetFeatureEnabledF(Feature, Flags, Enable);
  77. end;
  78.  
  79. procedure TForm2.Button1Click(Sender: TObject);
  80. begin
  81.   CoInternetSetFeatureEnabled(FEATURE_RESTRICT_ACTIVEXINSTALL, SET_FEATURE_ON_PROCESS, true);
  82. end;
  83.  
  84. initialization
  85.   hURLMon:= LoadLibrary('urlmon.dll');
  86.   if hURLMon > 0 then
  87.     CoInternetSetFeatureEnabledF:= GetProcAddress(hURLMon, 'CoInternetSetFeatureEnabled');
  88.  
  89. finalization
  90.   FreeLibrary(hURLMon);
  91. end.
  92.  

Offline jarex

  • Plnoletý
  • ***
  • Příspěvků: 225
  • Karma: 5
Re:TWebbrowser a doplňky
« Odpověď #10 kdy: 05-07-2012, 17:50:33 »
Mockrat dekuji za nalezite vysvetleni na prikladu. Nicmene, pokud tu funkci zavolam ve sve aplikaci, tak mi Twebbrowser sejne nic nenabizi a po delsim cekani oznami ze je chyba ve scriptu, jelikoz nerozumi danemu prikazu, ktery funguje jen kdyz je doplnek nainstalovan.
Funkci volam ve FormCreate.
« Poslední změna: 05-07-2012, 18:17:24 od jarex »
D2007 Professional

Offline jarex

  • Plnoletý
  • ***
  • Příspěvků: 225
  • Karma: 5
Re:TWebbrowser a doplňky
« Odpověď #11 kdy: 06-07-2012, 17:11:21 »
Tak jsem se ještě dočetl o nějaké registraci procesu v registrech, ale to taky nezabralo... Asi to odpiskam.... :-(  Nebo nevěděl by někdo o lepším browseru pro delphi?
D2007 Professional

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1174
  • Karma: 44
    • Verze Delphi: 7, 2010
Re:TWebbrowser a doplňky
« Odpověď #12 kdy: 06-07-2012, 18:26:23 »
jak jsem psal v jinym tematu ...

zkus mrknout na tento clanek o EmbedWB (lepsi nahrada za twebbrowser)
http://mzemaitis.wordpress.com/2008/04/24/how-to-show-your-own-custum-popup-in-twebbrowser-component/

dane funkce a konstanty tam jsou jiz zahrnuty

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3006
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:TWebbrowser a doplňky
« Odpověď #13 kdy: 06-07-2012, 22:11:52 »
Muzes jeste zkusit http://www.progdigy.com/?p=116 - Google Chrome Frame
Embarcadero MVP - Czech republic

Offline jarex

  • Plnoletý
  • ***
  • Příspěvků: 225
  • Karma: 5
Re:TWebbrowser a doplňky
« Odpověď #14 kdy: 07-07-2012, 15:41:50 »
Tak jsem zkusil ten EmbeddedWB a ten uz mi ten doplnek chce instalovat. System to bohuzel ale sestreli hlaskou: "Aktualni zabezpeceni neumoznuje na teto strance spustit ovladaci prvek ActiveX". Hledal jsem vsude mozne na netu ale nic kloudneho nenasel, jak by se tato hlaska dala obejit. Nastaveni v registrech jak to popisuji zde: http://support.microsoft.com/kb/2506343/ nezabralo.  Nevedel by nekdo jak z toho?
D2007 Professional