We have created a native C++ example how to use PCB-Investigator with a managed C++ wrapper.
You can download the project here

This example project contains many small examples like:

  • Load data
  • Create Images
  • Handle events
  • Oversize createion
  • Rotate or Mirror data
  • Other standards like selection, Layerhandling, report method for components…

Here is a part of the header file to see included methods:

__declspec(dllexport) void __stdcall GetErrorLog(LPSTR retArray, DWORD size);
__declspec(dllexport) int __stdcall LoadData(char*);
__declspec(dllexport) int __stdcall CreateImage(char*, char*, int);
__declspec(dllexport) int __stdcall CreateImage2(std::string, char *, int, bool, int, double, double, double, double);
__declspec(dllexport) int __stdcal l CreateImage3(std::string, char *, int, bool, int, double, double, double, double, int, int);
__declspec(dllexport) int __stdcall LoadGerberLayerAndReturnLayerName(char*, LPSTR, DWORD);
__declspec(dllexport) bool __stdcall GetLayerBounds(char*, RECTD*);
__declspec(dllexport) bool __stdcall GetStepBounds(RECTD*);
__declspec(dllexport) void __stdcall RotateData(char*, bool);
__declspec(dllexport) void __stdcall RotateAndMirrorStep(double, bool,bool);
__declspec(dllexport) void __stdcall Oversize(char*, double);
__declspec(dllexport) void __stdcall Save();
__declspec(dllexport) void __stdcall CloseJob();
__declspec(dllexport) void __stdcall DisposeAllResources();
__declspec(dllexport) void __stdcall ClearLog();
__declspec(dllexport) void __stdcall ShowPCBIWindow();
__declspec(dllexport) bool __stdcall PCBInvestigatorVisible();
__declspec(dllexport) void __stdcall HighlightCMP(char*);
__declspec(dllexport) void __stdcall ZoomToCMP(char*);
__declspec(dllexport) void __stdcall ClearAllSelections();
__declspec(dllexport) void __stdcall ActivateLayersForSelectedObjects();
__declspec(dllexport) bool __stdcall RegisterEvent(UnmanagedEventClass*);
__declspec(dllexport) void __stdcall GetCMPInfo(char* , LPSTR , DWORD );

Attention: Be aware of linker settings and additional Library settings with fix path.