<%@ page aspcompat=true %>
<%@ Import NameSpace="System.Data" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<script language="vb" runat="server">
Sub page_load(sender as object,e as eventargs)
dim myagent as object
myagent=server.createobject("Agent.control.2")
myagent.Connected = True
myagent.Characters.Load("merlin","C:\WINDOWS\msagent\chars\merlin.acs")
myagent.Characters.Character("merlin").LanguageID = &H0409
myagent.Characters.Character("merlin").show()
myagent.Characters.Character("merlin").speak("hello")
End Sub
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head><body></body>
</html>主要思想:在调用msagent这个com组件
运行也没有任何出错提示,但就是无法显出“merlin”,也不能读音
各位大侠帮忙看一下,是不是在asp.net中调用com组件还有其它要求啊,怎么死活不出现呢?
急急
谢谢各位了
<%@ Import NameSpace="System.Data" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<script language="vb" runat="server">
Sub page_load(sender as object,e as eventargs)
dim myagent as object
myagent=server.createobject("Agent.control.2")
myagent.Connected = True
myagent.Characters.Load("merlin","C:\WINDOWS\msagent\chars\merlin.acs")
myagent.Characters.Character("merlin").LanguageID = &H0409
myagent.Characters.Character("merlin").show()
myagent.Characters.Character("merlin").speak("hello")
End Sub
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head><body></body>
</html>主要思想:在调用msagent这个com组件
运行也没有任何出错提示,但就是无法显出“merlin”,也不能读音
各位大侠帮忙看一下,是不是在asp.net中调用com组件还有其它要求啊,怎么死活不出现呢?
急急
谢谢各位了
这段代码运行时,任务管理 器里的agentsvr.exe程序也是在运行的,说明msagent已经打开了
两台机器上的com版本是不是一样,服务器上是否安装了客户端用的sdk或组件
function ShowAgent(sMsg)
{
var agent;
var Merlin;
agent = new ActiveXObject("Agent.Control.2");
agent.Connected = true;
agent.Characters.Load("merlin","C:\WINDOWS\msagent\chars\merlin.acs")
Merlin = agent.Characters(merlin);
Merlin.Show();
Merlin.Speak(sMsg);
Merlin.Play("Announce");
Merlin.Play("Explain");
Merlin.Hide();
}
写错了 -_-#
但后来放在服务器端就不行了因为我是asp.net编的网页,所以想和上面的web控件进行交互,那是不是一定要放在服务器端,才能进行交互呢?
譬如说我单击一个button按钮,就出现msagent,但这个按钮是runat="server"在vbscript脚本中能否调用web控件?
myagent.Characters.Load("merlin","C:\\WINDOWS\\msagent\\chars\\merlin.acs")
是不是就把我的代码中,merli.acs的地址改了?其它的有改吗?可以将您的代码贴上来吗?
譬如说我单击一个button按钮,就出现msagent,但这个按钮是runat="server"
------------------非常抱歉,没认真看上面的帖子,我是在客户端javascript直接调的。
<asp:Button runat = "server" id = "btn"....
如果想点击后,可以执行客户段脚本的话,可以这样的
在服务器代码中写 btn.Attributes.Add("onclick","这里就可以写你要使用的客户脚本");或者用这种控件
<input type = "button" runat="server" ...
用这个的话,可以直接在标签里写 onclick...
这样在客户段点button的时候,会先执行你的onclick中执行的脚本,然后在提交到服务器,执行服务器上的click事件代码。
如果onclick = "fun();return false;"这样就不会提交到服务器了不知道这样是不是能满足楼主的要求。
<head>
<style>button{width:100;border:outset 2;}</style>
</head>
<body bgcolor=threedface scroll=auto><button onclick= Merlin.Play("RestPose") >复位
<button onclick= Merlin.Stop() >停止
<button onclick= Merlin.Play("Acknowledge") >点头
<button onclick= Merlin.Play("Surprised") >惊讶
<button onclick= Merlin.Play("GestureUp") >手势
<button onclick= Merlin.Play("Pleased") >满足
<button onclick= Merlin.Play("Alert") >警告
<button onclick= Merlin.Play("Announce") >宣布
<button onclick= Merlin.Play("Blink") >眨眼
<button onclick= Merlin.Play("Confused") >困惑
<button onclick= Merlin.Play("Congratulate") >恭喜1
<button onclick= Merlin.Play("Congratulate_2") >恭喜2
<button onclick= Merlin.Play("Decline") >拒绝
<button onclick= Merlin.Play("DoMagic1") >变魔术1
<button onclick= Merlin.Play("DoMagic2") >变魔术2
<button onclick= Merlin.Play("DontRecognize") >没听清
<button onclick= Merlin.Play("Explain") >说明
<button onclick= Merlin.Play("GetAttention") >敲一下
<button onclick= Merlin.Play("GetAttentionContinued") >不停敲
<button onclick= Merlin.Play("GetAttentionReturn") >不敲了
<button onclick= Merlin.Play("Greet") >问候
<button onclick= Merlin.Play("Hearing_1") >听1
<button onclick= Merlin.Play("Hearing_2") >听2
<button onclick= Merlin.Play("Hearing_3") >听3
<button onclick= Merlin.Play("Hearing_4") >听4
<button onclick= Merlin.Play("Idle1_1") >1-1
<button onclick= Merlin.Play("Idle1_2") >1-2
<button onclick= Merlin.Play("Idle1_3") >1-3
<button onclick= Merlin.Play("Idle1_4") >1-4
<button onclick= Merlin.Play("Idle2_1") >2-1
<button onclick= Merlin.Play("Idle2_2") >2-2
<button onclick= Merlin.Play("Idle3_1") >3-1
<button onclick= Merlin.Play("Idle3_2") >3-2
<button onclick= Merlin.Play("LookDown") >俯视
<button onclick= Merlin.Play("LookDownBlink") >俯视眨眼
<button onclick= Merlin.Play("LookDownReturn") >俯视眨眼返回
<button onclick= Merlin.Play("MoveUp") >上移
<button onclick= Merlin.Play("MoveDown") >下移
<button onclick= Merlin.Play("MoveLeft") >左移
<button onclick= Merlin.Play("MoveRight") >右移
<button onclick= Merlin.Play("Process") >熬汤
<button onclick= Merlin.Play("Processing") >熬汤
<button onclick= Merlin.Play("Read") >读
<button onclick= Merlin.Play("ReadReturn") >不读了
<button onclick= Merlin.Play("Reading") >正在读
<button onclick= Merlin.Play("ReadContinued") >不停读
<button onclick= Merlin.Play("Sad") >悲哀
<button onclick= Merlin.Play("Search") >查找
<button onclick= Merlin.Play("Searching") >正在查找
<button onclick= Merlin.Play("StartListening") >听
<button onclick= Merlin.Play("StopListening") >捂耳朵
<button onclick= Merlin.Play("Suggest") >暗示
<button onclick= Merlin.Play("Uncertain") >想飞
<button onclick= Merlin.Play("Wave") >挥手
<button onclick= Merlin.Play("Write") >写东西
<button onclick= Merlin.Play("WriteContinued") >不停写
<button onclick= Merlin.Play("WriteReturn") >不写了
<button onclick= Merlin.Think("fly") >想<button onclick= doalert('something') >说<script>
function doalert(text) {
Merlin.Speak(text);
}
</script><Object ID=agent ClassID=CLSID:D45FD31B-5C6E-11D1-9EC1-00C04FD7081F></Object><script>
var MerlinID;
var MerlinACS;
agent.Connected=true;
MerlinLoaded=LoadLocalAgent(MerlinID,MerlinACS);
Merlin=agent.Characters.Character(MerlinID);
Merlin.Show();function LoadLocalAgent(CharID,CharACS){
LoadReq=agent.Characters.Load(CharID,CharACS);
return(true);
}
</script></body>
</html>
目前我还是只有把那段代码放在vbscript中执行的,放在服务器好象没有什么好的办法。
我的vbscript没有runat="server",但我想在脚本中实现页面转向,例如: Sub Agent_Click (ByVal CharacterID,ByVal Button,ByVal Shift,ByVal X,ByVal Y)
response.Redirect "new.aspx"
end sub 这个事件里的代码我一开始是 myAgent.Characters.character("peedy").speak "hello" 执行都是ok,但换成页面转向 response.Redirect "new.aspx"就执行错误了 我记得vbscript语言是支持response.redirect的啊,怎么会错误呢?
非常感谢t0h,呵呵只是msagent只能在客户端运行了,郁闷呐
也就是权限太低的缘故。
asp.net(aspnet_wp.aspx)是以很低的权限运行的。
本人估计不能执行该操作。