优点:

(1)不用直接打开PowerPoint

(2)可以嵌入到Form中,那种先打开ppt然后将ppt嵌入到Form中的方式,会先打开PowerPoint

缺点:

很早就停止更新了。。。。  但是没办法还是这个好用

1.以管理员的身份运行程序

需要以管理员的身份运行程序(winform)

2.下载并注册dsoframer.ocx

dsoframer控件注册,解注册和检查注册情况

3.添加dsoframer控件

常规处,右键 点击“选择项”  点击“COM组件” 选中“DSO Framer Control Object” 确定

4.使用方式

(1)打开方式:

axFramerControl1.Open(s, true, "PowerPoint.Show", "", "");

(2)Form全屏:

axFramerControl1.Focus();
SendKeys.SendWait("F5");

(3)上一张ppt

axFramerControl1.Focus();
SendKeys.SendWait("P");

(4)下一张ppt

axFramerControl1.Focus();
SendKeys.SendWait("N");

(5)电脑屏幕全屏(这样做,和PowerPoint软件F5播放效果一样)

axFramerControl1.Focus();
SendKeys.SendWait("F5");

需要引入:

axFramerControl1.Open(s, true, "PowerPoint.Show", "", "");

//全屏

objPresSet = axFramerControl1.ActiveDocument as Presentation;
objPresSet.SlideShowSettings.Run();

//关闭

if (objPresSet != null)
{
objPresSet.Close();
objPresSet = null;
}

(7)关闭

axFramerControl1.Close();

5.程序安装时注册dsoframer

程序安装时注册dsoframer.ocx控件

问题:

(1)当文件放在服务器上,且地址含有中文时,会报错:System.IO.FileNotFoundException:“指定资源下载失败。

像这种http://www.exaple.com/file/你好.pptx

解决:

Uri.EscapeUriString(filePath);

(2)unable to display inactive document,click here to reactive the object

SendKeys.SendWait("F5");  之后 隐藏在显示 会出现ppt画面变为白板 显示文字“unable to display inactive document,click here to reactive the object”

解决:

ActivationPolicy = dsoKeepUIActiveOnAppDeactive

使用dsoframer演示ppt的更多相关文章

  1. 基于web自动化测试框架的设计与开发(讲解演示PPT)

  2. 怎样做出优秀的扁平化设计风格 PPT 或 Keynote 幻灯片演示文稿?(装)

    不知道你有没有想过,为什么很人多的扁平化 PPT 是这个样子: 或者是这样: 然而,还有一小撮人的扁平化 PPT 却拥有那么高颜值: 为什么会产生这么大的差距呢?丑逼 PPT 应该如何逆袭成为帅逼呢? ...

  3. 放映PPT幻灯片演示文稿如何让演讲者备注不投影到屏幕上(转载)

    ps  files/ps.rar 放映PPT幻灯片演示文稿如何让演讲者备注不投影到屏幕上 如题,在PPT幻灯片的演示文稿中加入演讲者备注(使用PPT讲座时苦于有时会忘记一些要讲的数字,文字等),但是在 ...

  4. 制作 PPT 的新方式出现了——GitHub 热点速览 v.21.19

    作者:HelloGitHub-小鱼干 想当初 Markdown 的出现,拯救了多少死在 Word 样式调整上的人,现在,slidev 出现了,它让你 Focus 在本该专注的 PPT 内容制作上而不需 ...

  5. 听说你想在 WordPress 网站上嵌入 PPT ?

    年底了,想在 WordPress 博客上展示自己的春节旅行计划,尝试在文章中插入一个旅行计划 PPT 结果长这个样子 你有没有遇到同样的情况,懊恼网页支持展示的内容无法满足我们的需求: 想展示年度家庭 ...

  6. javascript的api设计原则

    前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块.系卤煮自己总结的一些经验和教训.本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来.很难做到 ...

  7. 28个Unix/Linux的命令行神器_转

    28个Unix/Linux的命令行神器 下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具,有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具 ...

  8. sprint 3 总结

    1.要求: 演示可参考毕业设计答辩,包含两部分内容: 项目陈述,可综述项目.团队.开发过程等. 运行演示,实现的功能.业务.用户反馈等. 希望各组认真准备,拿出最好的阵容最好的状态,展示一学期的学习与 ...

  9. [团队项目]sprint3 & 团队贡献分

    希望各组认真准备,拿出最好的阵容最好的状态,展示一学期的学习与工作成果. 各组注意完成sprint3的博客,写上团队贡献分. 将演示PPT(如果有)和代码上传到github. 截止日期:2016.6. ...

随机推荐

  1. 【OpenCV入门教程之一】 OpenCV 2.4.8 +VS2010的开发环境配置

    目录(?)[-] 因为读研期间的研究方向是图像处理所以浅墨这段时间闭门研究了很多OpenCV和图像处理相关的知识与内容眼看自己积累到一定的程度了于是决定开始开设这个OpenCV系列专栏总结自己所学也分 ...

  2. python-第五章习题

    5.2 def isOdd(x): if(x%2==0): return False return True x=eval(input("")) print(isOdd(x)) 5 ...

  3. #undef取消宏定义

    如果你想定义这个宏那就#define X 如果你不想让你已经#define X的宏在其他地方由于引入这个包含宏定义的.h文件而引起一些编译问题,那你就#undef X掉,就这么简单. 举个简单的例子: ...

  4. P1541 乌龟棋(动态规划)

    (点击此处查看原题) 题意 此处有n个位置,记为1~n,每个位置上都对应一个权值,乌龟从编号为1的位置出发,利用m张爬行卡片到达位置n,爬行卡牌有四种,分别可以让乌龟移动1,2,3,4步,并保证将m张 ...

  5. jQuert DOM操作

    DOM操作 1 内部插入 append(content|fn) 向每个匹配的元素内部追加内容 appendTo(content) 把所有匹配的元素追加到另一个指定的元素元素集合中 prepend(co ...

  6. HashMap的四种遍历方式

    package com.xt.map; import java.util.HashMap; import java.util.Iterator; import java.util.Map; impor ...

  7. [C#.net]C#如何解析json文本文件

    C#解析Json字符串,可以借助Newtonsoft.Json将Json字符串序列化为对象,再从对象中获取值 Newtonsoft.Json.JsonConvert.DeserializeObject ...

  8. js创建点击事件中<a>标签onclick传递多个参数

    var rowIndex = e.rowIndex; var t = "<a href='javascript:void(0)' onclick=\"viewInfo('&q ...

  9. 数值或者电话号码被EXCEL转成了科学计数法,用XSSFCell 如何读取

    public static Map<String, Integer> readXls() throws IOException { //用来获取每一个小号重复多次,被多少账号用了.来平均 ...

  10. luogu题解P2486[SDOI2011]染色--树链剖分+trick

    题目链接 https://www.luogu.org/problemnew/show/P2486 分析 看上去又是一道强行把序列上问题搬运到树上的裸题,然而分析之后发现并不然... 首先我们考虑如何在 ...