Недавно я использовал node-webkit для разработки проекта на стороне клиента. И это должно командовать специальным принтером через ‘dll’.
Поэтому мне нужно добавить дополнение C ++ для загрузки DLL. (TSCLIB.dll находится в том же каталоге с кодом C ++)
Компилировать с NW-GYP.
Вот код расширения C ++:
#include <node.h>
#include <v8.h>
#include <iostream>
#include <windows.h>
#include <exception>
#include <stdlib.h>
#include <string>
using namespace std;
using namespace v8;
Handle<Value> OpenPort(const Arguments& args) {
HandleScope scope;
HINSTANCE hDLL;
hDLL = LoadLibrary("TSCLIB.dll");
if(hDLL){
return scope.Close(String::New("hDLL is not null."));
}else{
return scope.Close(String::New("hDll is null."));
}
}
void init(Handle<Object> exports) {
exports->Set(String::NewSymbol("openport"),FunctionTemplate::New(OpenPort)->GetFunction());
}
NODE_MODULE(tscPrinter, init);
Когда я использую javascript, чтобы повторно установить этот модуль.
И вызвать функцию openport («USB»);
результат «hDll — ноль».
Может кто-нибудь помочь мне, пожалуйста? Большое спасибо…
Задача ещё не решена.
Других решений пока нет …