易截截图软件、单文件、免安装、纯绿色、仅160KB

在JavaScript 调用C++

方案一:
// html & JavaScript
...
<button value="Click me"
onclick="window.navigate('app:command&arg1=1&arg2=2')" />
...
 // C++: 响应 的消息函数OnBeforeNavigat2 
virtual void OnBeforeNavigate2( LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName,
CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel );
// C++ code goes here
CXXXDlg::OnBeforeNavigate2( LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName,
CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel )
{
CString strUrl = lpszURL;
if(strUrl.Left(4) == _T("app:"))
{
// cancel the common url navigate and call your c++ code here
*pbCancel = TURE;
// call other c++ function here or parse the argument in the strUrl

}
// go common url navigate here

}

方案二:
// html & javaScript
...
function CallCpp()
{
alert('start to call cpp here');
window.external.JavaScriptCallCpp('This
is a test for call C++ in JavaScript');
}
<button onclick="CallCpp()"
>JavaScript访问C++代码</button>
...
// C++ code goes here
CString javaScriptName =
_T("JavaScriptCallCpp");
#define DISPID_CallCppfromJs 1
// 实现IDispatch 接口
// .h
class CImpIDispatch : public IDispatch
{
protected:
ULONG m_cRef;
public:
CImpIDispatch(void);
~CImpIDispatch(void);
STDMETHODIMP QueryInterface(REFIID, void **);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
//IDispatch
STDMETHODIMP GetTypeInfoCount(UINT* pctinfo);
STDMETHODIMP GetTypeInfo(/* [in] */ UINT iTInfo,
/* [in] */ LCID lcid,
/* [out] */ ITypeInfo** ppTInfo);
STDMETHODIMP GetIDsOfNames(
/* [in] */ REFIID riid,
/* [size_is][in] */ LPOLESTR *rgszNames,
/* [in] */ UINT cNames,


相关文档:

c++与java的构造函数

今天继续学习java和android平台  java的学习算是补充,因为没有java基础也做不出什么东西来
今天看到java用this关键字来重载构造方法,在这里做个笔记class a_sample{
public int x,y.z;
a_sample(int x){
this.x=x;
}
a_sample(int x,int y){
this(x);
this.y=y;
}
a_sample(int x ......

javascript如何定义类

javascript如何定义类呢?
面试的时候有学生被问到这个问题。
实际上javascript的方法就是一个对象。
利用这一点,我们可以使用javascript定义类。
如下例子所示。
<mce:script language="javascript"><!--
//javascript的面向对象的例子
function sayHi(){
alert("Hello ,"+this.name);
}
function get ......

JavaScript 时间加减 改变

JavaScript 时间加减:
<HTML>
<BODY>
    <script type="text/javascript">
        var time = new Date("04/30/2010");
        document.write(time);
        ......

禁止页面刷新的javascript代码

禁止页面刷新的javascript代码
当用户向数据库提交数据后,往往由于点击了F5刷新页面,造成数据的重复提交,很容易造成数据库数据混乱.
如果屏蔽了刷新按钮,二次提交的可能性会小很多!
下面是禁止页面刷新的javascript代码:
document.onkeydown = function()
{
         if(ev ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号