答案补充
HWND hWnd = ::FindWindow(sClassName, sWindowName)//传入类明到sClassName,窗口名sWindowName,否则传入NULL
脚本执行的基础是WEB控件,那么C++在WINDOWS下运行可以装入WEB控件实现脚本调用。
下面是一段引用某位博主的代码可以参考一下。
// vcJscript.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#import "C:/windows/system32/msscript.ocx" // msscript.ocx
using namespace MSScriptControl
#include <fstream>
#include <string>
using namespace std
int _tmain(int argc, _TCHAR* argv[])
{
HRESULT hr = CoInitialize(NULL) //使用一个变量初始化COM设置,单线程运行
IScriptControlPtr pScriptControl(__uuidof(ScriptControl))//初始化脚本控件
pScriptControl->Language = "JavaScript"//设置语言
pScriptControl->AllowUI = TRUE//设置显示
fstream file//文件流用于读出JS代码
file.open( "test.js" )
string strFileContent, strTemp
char szTemp[1024]=""
do
{
file.read(szTemp, 1024)
strFileContent.append( szTemp )//拼接JS文件
memset( szTemp, 0, 1024 )
}
while ( !file.fail() )
file.close()
pScriptControl->AddCode(strFileContent.c_str())//向控件加入代码
VARIANT A = pScriptControl->Eval("main(4)")//获取返回值
int iRet = A.intVal
return 0
}
For this assignment, and web development in general you will need to exercise your "google-fu", your skill in using a search engine to find answers to problems.
You do not need to do much backend coding at all for Module 1. app.js should just contain hard coded response values.
You will need to add functionality to app.js, index.html, index.js and, if you wish, style.css.
https://developer.mozilla.org/en-US/docs/Tools
Bootstrap 4 style guide (example, forms): https://getbootstrap.com/docs/4.0/components/forms/
How to $.ajax: https://stackoverflow.com/a/22964077/5698848
https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_web_server
We are using NodeJS runtime to create a simple web server
We are using ExpressJS framework for our API and routing: https://expressjs.com/en/starter/hello-world.html
An Application Programming Interface (API) is essentially just an interface, we're using to serve our set of routes for the client browser JavaScript to interact using HTTP protocol to access Backend functionality.
We're creating a RESTful API: https://restfulapi.net/
HTTP Methods to consider:
In Express it's very simple to create a single "route". A route is just an endpoint you can access from your JavaScript
Here's an example in app.js:
More information here: https://expressjs.com/en/guide/routing.html
Request contains the data sent from the Frontend JavaScript
Response is what we send back to the client after they make an AJAX call
Note that res.send() should take a JavaScript Native Object, NOT a string with JSON in it
You can parse a JSON string into a native object:
The stub provides app.get() and app.port() routes for handling .ged file upload/doanload requests from the browser. All .ged files must be placed ino the uploads/ directory.
https://www.npmjs.com/package/node-ffi