0

我有一个非常简单的 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 ''; }

我想geoip_country_code从一个win32代码调用。甚至可能吗?

4

2 回答 2

2

您没有指定语言,但 COM 可以做到这一点;MSScriptControl.ScriptControl

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

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

http://support.microsoft.com/kb/229669

于 2012-10-18T10:44:34.267 回答
1

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

如果您想使用正则表达式,那么应该这样做:

function [a-zA-Z_]+\(\) { +return +'([a-zA-Z0-9 ]+)'; +}
于 2012-10-18T10:40:25.643 回答