From iMacros
Revision as of 12:14, 21 November 2018 by Kg (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

iMacros WebBrowser Component

The embeddable iMacros WebBrowser Component gives you the ability to build your own .NET application with all of the playback power of the iMacros Browser.

The iMacros WebBrowser Component comprises a tabbed web browser control that includes the dialog manager, Image Recognition, DirectScreen, and all the other playback functionality 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 (Debug or Release, for instance) folder. There are 4 additional dlls (5 in total.) 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\Ipswitch\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:

  • PlaybackDelay (0) [corresponds to macro variable !PLAYBACKDELAY, however in milliseconds, instead of seconds]. Notice that in version 12 we have changed from PlaybackSpeed to PlaybackDelay. Use the following values to convert: Fast = 0, Medium = 1000, Slow = 2000
  • 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 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 You can also set this value from your application using iMacrosControl methods. See documentation.

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

5. iMacros Dialog Manager, DirectScreen and the Image Recognition API depend on the Visual C++ 2015 Runtime Libraries x86 (v140). Please, make sure your users have it installed in their system. You may as well simply install vcredist_x86.exe, from, or


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. It does not provide recording functionality, so you need at least one other version of iMacros for recording.

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

No. You can ship it with just the 5 .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.