本文目錄一覽:
js如何調用c語言寫的api
包含api的.h文件,然後直接調用就可以了,比如winsock.h,可以調用recv等函數,也可以在函數前面加::
答案補充
HWND hWnd = ::FindWindow(sClassName, sWindowName);//傳入類明到sClassName,窗口名sWindowName,否則傳入NULL
js里怎樣調用c#寫的dll
js只支持Activex Dll(所謂的com組件).在C#里如下面的方法寫.
然後js里註冊該控件並調用.
裡面有兩個方法
Encrypt(string pToEncrypt,string sKey) //加密
Decrypt(string pToDecrypt,string sKey) //解密
然後你這樣寫代碼:
using System;
using System.Runtime.InteropServices;
namespace 名稱空間
{
// 首先建立接口,這個是Com必須使用的
[Guid(“61BB24CB-4C2C-40f8-9E13-1AC5E558D56A”)]
public interface IEncrypt
{
string Encrypt(string pToEncrypt,string sKey);
string Decrypt(string pToDecrypt,string sKey);
}
// 寫接口的實現
[Guid(“CB52E990-185E-4448-A7E8-C88ECAD563AB”)]
public class 類名稱 : IEncrypt
{
public string Encrypt(string pToEncrypt,string sKey)
{
// 複製FAQ加密代碼
}
public string Decrypt(string pToDecrypt,string sKey)
{
// 複製FAQ解密代碼
}
}
}
然後用vs.net打包成.dll類庫文件,假設名稱為MyEncrypt.dll
然後用如下工具
regasm MyEnCrypt.dll /tlb:MyEncrypt.tlb
這個.tlb文件就是類型庫,可以由vb6和vc++6引用。
注意上面的guid是使用vs.net工具菜單裡面的創建guid工具生成的。
還要注意,vs.net自動生成的assemblyinfo.cs文件中必須添加強名稱和版本號,因為Com組件需要版本號,不要改動版本號,也不要用vs.net自動的1.*這樣的版本號,最好使用
1.1.1.1這樣的固定版本,而且必須一次添加,不能多次添加。
regasm後怎樣在js里調用?
用你的例子是這樣?
var ss = new ActiveXObject(“MyEncrypt.類名稱”);
JS不可以調用普通的Dll動態鏈接庫,但你可以使用new ActiveXObject調用ActiveX DLL,如:
script
set z_shell= CreateObject( “WScript.Shell” )
z_shell.Run( “command.com /c mkdir ” + “c:\NewDir”)
/script
如何實現 js 和 c++ 的互相調用
腳本執行的基礎是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;
}
js調用ocx控件
1.對於64位機器,將廠商提供的.dll文件拷貝到 C:\Windows\System32 目錄下,將.ocx文件拷貝到C:\Windows\SysWOW64 目錄下。
2.註冊*.ocx文件。管理員身份。在“運行”中直接輸入“regsvr32 c:\Windows\SysWOW64\ZT_DIT.ocx”.將其註冊成功,如果註冊失敗,有可能是沒有取得管理員權限,根據報錯內容在網上搜索解決辦法。
3.註冊成功後,需要取得註冊的.ocx的classid,便於在頁面中引用。w+r(win10),打開運行。輸入regedit,打開註冊表,查找你註冊的ocx
右鍵(複製項名稱)將複製的粘貼到寫字板,就知道clsid了, 取得clsid後寫入帶頁面中,:
eg: OBJECT id=”ZTIDC” style=”width:400px;height:500″ type=”application/x-oleobject” classid=”CLSID:2BC73BDF-3532-441D-9F50-00649C2ADB85″
/OBJECT
這樣,在ie中就可以調用了!但是,在火狐和谷歌調用不了,甚至連界面都出不來。
在網上下載了
將axhost.r39.xpi拖入到火狐瀏覽器,結果報:此附加組件無法安裝。。。。經過查資料,要更改火狐的一些設置,地址欄鍵入:about:config 修改為false
請問,大家誰有最簡單的js調用網頁的方法?要最簡單的!
一、第一種情況:
1.後台方法:
protected string CsharpVoid(string strCC)
{
return strCC;
}
2.javascript 調用
script language=”javascript”
var s = “%=CsharpVoid(“”)%”;
document.write(s);
/script
第二種情況:
1.後代碼:
protected void CsharpVoid()
{
string strCC = “”;
Response.Write(strCC);
}
2.調用方法:CsharpVoid()
script language=”javascript”
document.write(“%CsharpVoid();%”);
/script
第三種方法:
你可在頁面中放一個按鈕,把它設置為不可見style=”display:none”,然後,用腳本讓此按鈕點擊
document.all(“button1”).click();
在此按鈕的C#後台中寫事件代碼,這就是最簡單的腳本調用C#方法.
二、我要的結果是當我去點按鈕時,在去帶參數去觸發後台方法.怎麼樣寫高手指點
HTML code:
html xmlns=””
head runat=”server”
title/title
script type=”text/javascript”
function Say(strValue) {
PageMethods.SayH(strValue, ShowMsg);
}
function ShowMsg(result) {
var sResult = result.toString();
document.getElementById(“rMsg”).innerHTML = sResult;
}
/script
/head
body
form id=”form1″ runat=”server”
div
asp:ScriptManager ID=”ScriptManager1″ runat=”server” EnablePageMethods=”true” /
input id=”Button1″ type=”button” value=”點擊我” onclick=”Say(‘你是豬’);” /
/div
div id=”rMsg”
/div
/form
/body
/html
C# code:
[System.Web.Services.WebMethod]
public static string SayH(string name)
{
return string.Format(“welcome to site , !”, name);
}
好人有好報 希望能採納 嘿嘿!!!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/246563.html