fixed the issue. Will look into that further There are 2 types of NPAPI plugins: windowed and windowless plugins. Both of them has some advantages and disadvantages (see this link). When you deal with windowed plugin on Win32 you get HWND of browser plugin window and you can work with it like with any window in OS.
wish helps you Hello again and thanks for your response, so my problem was to load the plugin directly, so i create a directory and i place my plugins in this folder, so i find this solution
public void AssembleCalculatorComponents()
string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Plugins");
//Check the directory exists
string assemblyName = Assembly.GetEntryAssembly().FullName;
//Create an assembly catalog of the assemblies with exports
var catalog = new AggregateCatalog(
new DirectoryCatalog(path, "*.dll"));
//Create a composition container
var container = new CompositionContainer(catalog);
Symfony 1.4 - Doctrine - Custom Plugin - How do I get plugin model files to reside in plugin directory?
will help you It's perfectly normal to get model files in your project directory after building. The purpose of this is to let you customize the plugin model on per-project basis, because the classes inside these files inherit from the classes defined in the plugin's files. I use plugins too, and most of the time, all the code I write resides in the plugin's model files.
With these it helps I want to make a C++ application that can handle both C++ and Python plugin. For the C++ part i'm fine, but I have questions about Python plugins. , This question is a bit loaded/unclear, but I'll give it a shot.
for dirname, _, filenames in os.walk(directory): # recursively search 'directory'
for filename in filenames:
# Look for files that end in '.py'
# Assume the filename is a python module, and attempt to find and load it
### need to chop off the ".py" to get the module_name
module_name = filename[:-3]
# Attempt to find and load the module
module_info = imp.find_module(module_name, [dirname])
module = imp.load_module(module_name, *module_info)
# The module loaded successfully, now look through all
# the declarations for an item whose name that matches the module name
## First, define a predicate to filter for classes from the module
## that subclass PluginInterface
predicate = lambda obj: inspect.isclass(obj) and \
obj.__module__ == module_name and \
for _, declaration in inspect.getmembers(module, predicate):
# Each 'declaration' is a class defined in the module that inherits
# from 'PluginInterface'; you can instantiate an object of that class
# and return it, print the name of the class, etc.
# TODO: fill this in
# If anything goes wrong loading the module, skip it quietly
How to load load win32 dll and excute simple win API with firebreath
like below fixes the issue There is nothing magical about firebreath as far as executing a windows API goes. You'd do it the same way you'd do it from any other C++ application or library. If you have a specific windows API you want to call then we might be more helpful, but generally I just include the correct header and make the API call -- no need to specifically loadlibrary the .dll myself. If you really want an example of doing it manually, you can find one in the firebreath codebase itself, in the file src/PluginCore/Win/SystemHelpersWin.cpp