Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在winapi中运行javascript_Javascript_Winapi - Fatal编程技术网

在winapi中运行javascript

在winapi中运行javascript,javascript,winapi,Javascript,Winapi,我有一个非常简单的js文件: function geoip_country_code() { return 'US'; } function geoip_country_name() { return 'United States'; } function geoip_city() { return 'New York'; } function geoip_region() { return '06'; } function geoip_region_name()

我有一个非常简单的js文件:

function geoip_country_code() { return 'US'; }
function geoip_country_name() { return 'United States'; }
function geoip_city()         { return 'New York'; }
function geoip_region()       { return '06'; }
function geoip_region_name()  { return 'xxx'; }
function geoip_latitude()     { return '55'; }
function geoip_longitude()    { return '99'; }
function geoip_postal_code()  { return ''; }
function geoip_area_code()    { return ''; }
function geoip_metro_code()   { return ''; }

我想从win32代码调用
geoip\u country\u code
。甚至有可能吗?

如果您不想处理比这更复杂的代码,我建议您改用正则表达式,只解析出您想要返回的值。否则,你需要提供你写这篇文章的语言信息。据我所知,Win32 API不支持JS(尽管COM可能支持),但有几种不同语言的API可以运行JS

如果您想使用regex,那么应该这样做:

function [a-zA-Z_]+\(\) { +return +'([a-zA-Z0-9 ]+)'; +}

如果您不想处理比这更复杂的代码,我建议您改用正则表达式,只解析出您想要返回的值。否则,你需要提供你写这篇文章的语言信息。据我所知,Win32 API不支持JS(尽管COM可能支持),但有几种不同语言的API可以运行JS

如果您想使用regex,那么应该这样做:

function [a-zA-Z_]+\(\) { +return +'([a-zA-Z0-9 ]+)'; +}

您尚未指定语言,但这在COM中是可能的
MSScriptControl.ScriptControl

sc->language="jscript";
sc->addcode("the js string");

result = sc->run("geoip_country_code", args);

您尚未指定语言,但这在COM中是可能的
MSScriptControl.ScriptControl

sc->language="jscript";
sc->addcode("the js string");

result = sc->run("geoip_country_code", args);

尽管获取
MSScriptControl.ScriptControl的文档并不容易,但我成功地使用了一种非常类似的方法-
sc->run(“geoip\u country\u code”,noArgs)感谢您指出了正确的方向,您也可以将答案更改为使用
run
方法,这样我就可以接受它了。(如果你不愿意,我还是会编辑并接受它)尽管获取
MSScriptControl.ScriptControl
的文档并不容易,但我成功地使用了一种非常类似的方法-
sc->run(“geoip\u country\u code”,noArgs)感谢您指出了正确的方向,您也可以将答案更改为使用
run
方法,这样我就可以接受它了。(如果您不愿意,我将编辑它并接受它)