Bonjour,
Je suis actuellement en train de faire un addon C++ pour nodejs v12.x.
Quand je fais : args.GetReturnValue().Set((int) FindWindowA(NULL, "Calculatrice"));
tout fonctionne bien mais quand j’essaye d’implémenter une variable à la place de "Calculatrice"
j’obtiens:
error C2665: 'FindWindowA' : aucune des 2 surcharges n’a pu convertir tous les types d’arguments.
Je n’arrive donc pas à convertir ma variable string au bon format (j’imagine c’est que j’ai un char* et que j’essaye de transmettre un string), j’ai pu parcourir la doc:
-
HWND FindWindowA( LPCSTR lpClassName, LPCSTR lpWindowName );
-
typedef const char* LPCSTR;
- L’API C++ de node v12.x
Mon code :
#include <node.h>
#include <windows.h>
using v8::Context;
using v8::FunctionCallbackInfo;
using v8::Int32;
using v8::Isolate;
using v8::Local;
using v8::Object;
using v8::String;
using v8::Value;
typedef struct tagRECT RECT;
static void FindWindow(const FunctionCallbackInfo<Value>& args) {
Isolate* isolate = args.GetIsolate();
//Local<Context> context = isolate->GetCurrentContext();
//Local<String> appName = args[0]->ToString(context).ToLocalChecked();
args.GetReturnValue().Set((int) FindWindowA(NULL, "calculatrice"));
}
extern "C" NODE_MODULE_EXPORT void
NODE_MODULE_INITIALIZER(Local<Object> exports,
Local<Value> module,
Local<Context> context) {
NODE_SET_METHOD(exports, "FindWindow", FindWindow);
}
config de mon build
binding.gyp:
{
"targets": [
{
"target_name": "FindWindow",
"sources": [ "src/FindWindow.cc" ]
}
]
}
Pour build je fais : node-gyp configure build
Bon vol,
A.
+0
-0