首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
C++ Builder
ActiveX/COM/DCOM
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
如何在IE中调用本地的一个exe 文件?。
加为好友
发送私信
在线聊天
xifenmin
dtxi
等级:
发表于:
2008-07-02 14:21:30
楼主
如何在IE中调用本地的一个exe 文件?
问题点数:
20
回复次数:
11
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
joyous
- NULL -
等级:
发表于:
2008-07-02 15:14:09
1
楼 得分:
0
BCB在创建ActiveX的支持上相当简单。
创建一个有界面ActiveX工程,在Form上放置一个按钮,按钮事件是你的执行代码
编译完成后生成一个ocx文件,同时会有HTML代码的使用示范,如果你的程序有数字签名,那么需要将浏览器的ActiveX安全级“允许已签名的程序执行”、否则得把浏览器对ActiveX的权限降到最低才能运行
或者用一个手动也可以批处理在本地注册一次也可以
regsvr32 是注册命令
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
xifenmin
dtxi
等级:
发表于:
2008-07-02 15:22:08
2
楼 得分:
0
能详细些吗?老大
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
joyous
- NULL -
等级:
发表于:
2008-07-02 15:40:30
3
楼 得分:
0
已经很详细了,兄弟,自己实践一下,不会花你超过10分钟的时间,前提需要安装一个IIS或者一个Apache HTTP之类的 WebServer 才能测试
至于调用本地程序最简单就是使用 API ShellExecuteEx 来完成
ShellExecute(this->Handle,"open","notepad.exe", "","",SW_SHOW );
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
xifenmin
dtxi
等级:
发表于:
2008-07-02 16:05:23
4
楼 得分:
0
我的情况是这样的,我的网页放到我们一个嵌入式设备里,通过网页访问这个嵌入式设备,但需要在这个网页中添加一个链接,调用到我们在客户端安装的一个软件。我如何修改网页来调用。我生成了一个com dll但我不知道如用利用classid来调用我们的这个程序
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
joyous
- NULL -
等级:
发表于:
2008-07-02 16:43:52
5
楼 得分:
0
BCB生成的ActiveX插件是OCX文件,并且直接生成测试代码(HTML代码),直接复制到Web目录内就可以直接使用,我这里没有安装BCB,也没法一一告诉你步骤,只是以前做过知道大概流程
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
xifenmin
dtxi
等级:
发表于:
2008-07-02 16:49:37
6
楼 得分:
0
我生成了一个ocx, 但我没有发现有html代码
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
joyous
- NULL -
等级:
发表于:
2008-07-02 16:58:26
7
楼 得分:
0
类似这样的,可以直接生成的,你再仔细看看调试或者运行菜单内的选项
<OBJECT id=oframer name=oframer codebase="yourocx.ocx" width="100%" height="100%"
classid=clsid:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX VIEWASTEXT>
<PARAM NAME="PARAM1" VALUE="1">
<PARAM NAME="PARAM2" VALUE="2">
<PARAM NAME="PARAM3" VALUE="3">
<PARAM NAME="PARAM4" VALUE="4">
</OBJECT>
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
xifenmin
dtxi
等级:
发表于:
2008-07-02 17:19:43
8
楼 得分:
0
那我是不是需要在ocx里面调用我的那个exe程序呢?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
joyous
- NULL -
等级:
发表于:
2008-07-02 17:24:26
9
楼 得分:
0
浏览器内执行的OCX实际上就是在执行一个本地应用程序,如果你希望你的OCX调用本地应用程序,就当作本地的一个程序调用本地的另外一个程序来做就行了。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
wewaa
阿尔博特
等级:
发表于:
2008-07-02 18:05:11
10
楼 得分:
0
注册一个协议,就可以了。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
xifenmin
dtxi
等级:
发表于:
2008-07-03 10:50:12
11
楼 得分:
0
我在com中实现了一个函数
STDMETHODIMP TMyComObjectImpl::ShowDialog()
{
try
{
MessageBox(NULL,"Hello,World!","Active X",MB_OK);
ShowMessage(FValue);
}
catch(Exception &e)
{
return Error(e.Message.c_str(), IID_IMyComObject);
}
return S_OK;
};
我然后在html里面是这么调用的
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Sample </title>
<object classid="clsid:29C4FC68-E754-426C-A1B2-B8DC3CF2663B" id="ComDll">
</object>
</head>
<script language="javascript" type="text/javascript">
function ComDll()
{
try
{
ComDll.ShowDialog(void);
}
catch (e)
{
alert("dfdfdf");
}
}
</script>
<body>
<form id="form1" name="form1" method="post" action="">
<input type="button" name="Test" value="测试" onclick="ComDll()"/>
</form>
</body>
</html>
上传到服务器上,执行没有反应为什么
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友