Wie Electron .dll-Dateien aufruft

Das Aufrufen einer .dll-Datei ähnelt dem Aufrufen einer .exe-Datei, ähnlich kann sie im Hauptprozess aufgerufen werden, aber sie kann gleichzeitig auch im Rendering-Prozess aufgerufen werden. Gleichzeitig müssen wir electron-edge-js, eine Bibliothek von electron, verwenden, um .dll aufzurufen.

Aus Gründen der Standardisierung nennen wir die .dll im Hauptprozess weiterhin main.js.

Wenn wir jetzt ein .dll-Programm geschrieben haben, was sollen wir tun, wenn wir es zu diesem Zeitpunkt aufrufen müssen.

Es muss zuerst eine Benachrichtigung vom DOM (Rendering-Prozess) an den Hauptprozess (main.js) senden, und nachdem der Hauptprozess sie erhalten hat, rufen wir die .dll-Datei auf.

Da wir im letzten Kapitel gesagt haben, dass wir Benachrichtigungen vom Hauptprozess zum Aufrufen von .exe erhalten haben, kennt jeder bereits die Kommunikation und den Empfang zwischen dem Renderprozess und dem Hauptprozess. Lassen Sie uns dann darüber sprechen, wie diesmal .dll im Rendering-Prozess aufgerufen wird

Nehmen wir das obige als Beispiel, schauen wir uns den Code an:

Wir müssen zuerst installieren: electron-edge-js 

Importieren Sie es dann in das Projekt:

Derzeit verwenden wir edge.func, um eine Aufrufmethode nach dem offiziellen Beispiel zu generieren.

Die AssemblyFile im obigen Code bezieht sich auf den Speicherpfad Ihrer DLL-Datei. ( Es kann ein Problem geben, dass der Pfad hier nicht gefunden werden kann und ein absoluter Pfad erforderlich ist .)

Die Bedeutung von typeName ist: Namensraum Objektname

methodName ist sehr offensichtlich: Ihr entsprechender Methodenname unter .dll

Auf diese Weise haben wir eine Ausführungsmethode generiert, die die .dll aufruft.

Unten müssen wir nur anrufen.

 Die erste Methode von invoke3 ist der Eingabeparameter, der an die .dll übergeben werden soll, da wir keine haben, also muss er nicht übergeben werden, und die zweite ist eine Funktion, die zwei Werte und den ersten Wert zurückgibt ist ein Anruffehler. Der zweite ist der Rückgabeparameter nach dem Aufruf.

Wir können je nach Situation urteilen.

 

Was das Obige betrifft, haben wir gesagt, dass es Fehler im Pfad geben kann.

Sie können es so lösen: Wenn es sich im Rendering-Prozess befindet, sollte Ihre .dll-Datei so weit wie möglich im Stammverzeichnis des Projekts abgelegt werden, damit wir die ./ceshi/ceshi.dll-Datei trotzdem direkt übergeben können der Entwicklungsumgebung oder der Kompilierungsumgebung zu finden.

Wenn es im main.js-Hauptprozess aufgerufen wird, müssen zu diesem Zeitpunkt alle aufpassen. Es ist notwendig, die Entwicklungsumgebung und die Produktionsumgebung zu beurteilen und den .dll-Pfad separat zu erhalten .

wie:

 

Supongo que te gusta

Origin blog.csdn.net/qq_31281245/article/details/127412984
Recomendado
Clasificación