Component

From iMacros
Jump to: navigation, search

iMacros WebBrowser Component


The iMacros WebBrowser Component gives you the possibility to build your own .net application with all of iMacros Browser power.

The iMacros WebBrowser Component comprises a webbrowser control with tabs. It includes the dialog manager, image recognition, direct screen, and all the other features available in the iMacros Browser. It is a fully functional Visual Studio Toolbox Control.



Imacros webbrowsercontrol net component.png

Getting Started

1. Unpack the zip file to any place in your development machine. The main folder iMacrosComponent contains 2 other sub-folders: Bin and Docs. In Docs you find the documentation in web style of the exposed namespaces and their members. The Bin folder contains the dlls needed to compile and run iMacros.

2. Open a new windows forms project. Target it to the x86 platform.

3. Add a reference to iMacrosComponent\Bin\iMacros.Component.dll. Build the solution. On compiling, Visual Studio copies iMacros.Component.dll to the current configuration bin folder, together with some of its dependencies: Microsoft.mshtml.dll and Interop.SHDocVw.dll (supposing that you have the reference property "Copy Local" set to true)

4. Copy also the other dlls from the iMacrosComponent\Bin folder to your project's bin\configuration folder. There are 10 dlls altogether. They are necessary during runtime.

5. Now you are ready to add an iMacrosControl to your form. The iMacrosControl cannot be added in the designer. Use the factory method iMacrosControl.Create() to instantiate an iMacrosControl object in your code. Add it to the form's or a panel's controls (see sample projects).


What else you should know

1. The first time you run your application in an user account which has never installed or used iMacros, a folder structure similar to the one used by the iMacros Browser is created in the user's Documents folder. You can control this by setting in advance - either in your installer, or in your application before iMacrosControl is instantiated - the proper registry strings in HKEY_CURRENT_USER\Software\iOpus\iMacros (both 32 and 64 bit OS): FolderDataSources, FolderDownloads, FolderLogs, FolderMacros.

2. A few other properties of the iMacros player, which might be of interest, are stored in the same HKCU key:

  • PlaybackSpeed (Fast) [corresponds to macro variable !REPLAYSPEED]
  • TimeoutPage (60) [corresponds to macro variable !TIMEOUT_PAGE]
  • MasterPassword [Encrypted. Please, contact support if you need to change this]
  • EncryptionPasswordMode (Storedkey) [corresponds to macro variable !ENCRYPTION]
  • ScriptErrorsSuppressed (True) [controls if script errors are immediately dismissed by the dialog manager]
  • UseRegionalSettings (False) [controls if csv files use the regional settings separator or a comma (US)]
  • LogEvents (True) [whether a log file is produced at each run. The file name can be set with !FILELOG]
  • Profiler (False) [whether to write a performance profile xml file. See http://wiki.imacros.net/Log_Performance]

3. By default, the browser control emulates IE7. In order to have it emulating a newer version of Internet Explorer, your application has to be listed in HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION. For instance, YourApplication.exe, value 9000, for IE9 (see http://wiki.imacros.net/IE9_Nags#What_IE_compatibility_mode_does_the_webbrowser_control_use.3F).

4. When deploying your application, deploy also the iMacros dlls (in the Bin folder, 10 altogether.) iMacros expects to find these dlls in the same directory as your executable.

Remarks

It is not possible to control two iMacrosControl instances in a single application at the same time. When we were designing iMacros, we chose - for performance reasons - to have a few static classes and properties. Two iMacrosControl instances will, of course, share those static objects. However, if you dispose of iMacrosControl, these static objects are reset, and you can create a new iMacrosControl instance, which will not be influenced by the disposed one.

License FAQ

Does the component have the same features as the iMacros Enterprise Edition?

The iMacros WebBrowser component has all of the playback features as the Enterprise Edition plus additional functions, such as optional callbacks for status updates.

Do you still need a player license of any kind?

No

Do you still need any kind of iMacros installation at all?

No. You can ship it with just the 10 .dll files that come with the component. No additional iMacros installation is required.

Does the purchase of the control have future upgrade costs or continual yearly subscription to get newer versions?

The software is licensed for perpetual use. It never "expires". In addition, the license includes one year of free, unlimited updates.