如何判断PTT开始播放(按F5状态)

wind_cloud2011 2015-05-16 07:33:29

这是一个PPT播放提示钟软件(播放PPT时,计时开始 ,不播放时,计时停止),想做一个类似功能的程序,没找到相关资料,有的也是播放PPT的代码,高手们有什么好的方法与思路,请指教!

...全文
478 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wind_cloud2011 2015-06-12
  • 打赏
  • 举报
回复
问题没解决,还是结题,哈哈
长空X 2015-05-25
  • 打赏
  • 举报
回复
引用 9 楼 wind_cloud2011 的回复:
[quote=引用 8 楼 hjkl950217 的回复:] [quote=引用 5 楼 wind_cloud2011 的回复:] [quote=引用 2 楼 hjkl950217 的回复:] 思路应该是运行时检测全局或这个软件的F5是否被按下了吧?
这还只是一个倒计时的代码,并不能检测和控制PPT状态,我自己写的方法是通过在程序中运行PPT文件,再计时,时间到时再提醒,但有些问题,有时在第二次运行时,只是打开了ppt软件的窗口,并没有运行我指定的PPT文件,有时又正常,也就是说不稳定,还没有找出是什么问题导致这样。我截图的这个就将PPT与程序分离的,PPT不需要程序来运行,你播放PPT时,程序就监控到了,你打开了PPT文件不播放时,是不会计时的,可能是判断F5(播放PPT不按F5也监测到)或内存中能监测到到播放的状态, 这个软件在win8里不能控制,另时间设定不灵活。 [/quote]那你就应该想办法检查是否打开了。。我觉得可以这样 检查PPT软件是不是运行了 再检查PPT文件是不是被锁定了 这样就好判断了[/quote] 检测打开容易,判断进程 就可,但检测播放还想不出来,再研究研究[/quote]我的意思是还有一个检测PPT文件有没有被锁定。。如果被PPT软件打开了,文件是不能动的对吧?检测这个。。如果都 满足还是放不了的话,你就要考虑你的PPT软件或系统问题了
wind_cloud2011 2015-05-23
  • 打赏
  • 举报
回复
我用这个打开PPT文件 using PowerPoint = Microsoft.Office.Interop.PowerPoint; public static void ShowPPT(string strTemplate) { PowerPoint.Application objApp = null; PowerPoint.Presentations objPresSet = null; PowerPoint._Presentation objPres; PowerPoint.DocumentWindow window; PowerPoint.Slides objSlides; PowerPoint.SlideShowWindows objSSWs; PowerPoint.SlideShowSettings objSSS; //PowerPoint.SlideRange objSldRng; bool bAssistantOn; try { objApp = new Microsoft.Office.Interop.PowerPoint.Application(); objApp.Visible = MsoTriState.msoTrue; objPresSet = objApp.Presentations; objPres = objPresSet.Open(strTemplate, MsoTriState.msoFalse, MsoTriState.msoTrue, MsoTriState.msoTrue); window = objApp.ActiveWindow; objSlides = objPres.Slides; bAssistantOn = objApp.Assistant.On; objApp.Assistant.On = false; objSSS = objPres.SlideShowSettings; objSSS.Run(); objSSWs = objApp.SlideShowWindows; objPres.Close(); objApp.Quit(); } catch { } finally { //Close the presentation without saving changes and quit PowerPoint. } }
wind_cloud2011 2015-05-23
  • 打赏
  • 举报
回复
引用 4 楼 dongxinxi 的回复:
在VS中添加MS Office Power Point Liberay的COM组件引用,就可以取得PPT的状态
我试试
wind_cloud2011 2015-05-23
  • 打赏
  • 举报
回复
引用 2 楼 hjkl950217 的回复:
思路应该是运行时检测全局或这个软件的F5是否被按下了吧?
这还只是一个倒计时的代码,并不能检测和控制PPT状态,我自己写的方法是通过在程序中运行PPT文件,再计时,时间到时再提醒,但有些问题,有时在第二次运行时,只是打开了ppt软件的窗口,并没有运行我指定的PPT文件,有时又正常,也就是说不稳定,还没有找出是什么问题导致这样。我截图的这个就将PPT与程序分离的,PPT不需要程序来运行,你播放PPT时,程序就监控到了,你打开了PPT文件不播放时,是不会计时的,可能是判断F5(播放PPT不按F5也监测到)或内存中能监测到到播放的状态, 这个软件在win8里不能控制,另时间设定不灵活。
wind_cloud2011 2015-05-23
  • 打赏
  • 举报
回复
引用 8 楼 hjkl950217 的回复:
[quote=引用 5 楼 wind_cloud2011 的回复:] [quote=引用 2 楼 hjkl950217 的回复:] 思路应该是运行时检测全局或这个软件的F5是否被按下了吧?
这还只是一个倒计时的代码,并不能检测和控制PPT状态,我自己写的方法是通过在程序中运行PPT文件,再计时,时间到时再提醒,但有些问题,有时在第二次运行时,只是打开了ppt软件的窗口,并没有运行我指定的PPT文件,有时又正常,也就是说不稳定,还没有找出是什么问题导致这样。我截图的这个就将PPT与程序分离的,PPT不需要程序来运行,你播放PPT时,程序就监控到了,你打开了PPT文件不播放时,是不会计时的,可能是判断F5(播放PPT不按F5也监测到)或内存中能监测到到播放的状态, 这个软件在win8里不能控制,另时间设定不灵活。 [/quote]那你就应该想办法检查是否打开了。。我觉得可以这样 检查PPT软件是不是运行了 再检查PPT文件是不是被锁定了 这样就好判断了[/quote] 检测打开容易,判断进程 就可,但检测播放还想不出来,再研究研究
长空X 2015-05-23
  • 打赏
  • 举报
回复
引用 5 楼 wind_cloud2011 的回复:
[quote=引用 2 楼 hjkl950217 的回复:] 思路应该是运行时检测全局或这个软件的F5是否被按下了吧?
这还只是一个倒计时的代码,并不能检测和控制PPT状态,我自己写的方法是通过在程序中运行PPT文件,再计时,时间到时再提醒,但有些问题,有时在第二次运行时,只是打开了ppt软件的窗口,并没有运行我指定的PPT文件,有时又正常,也就是说不稳定,还没有找出是什么问题导致这样。我截图的这个就将PPT与程序分离的,PPT不需要程序来运行,你播放PPT时,程序就监控到了,你打开了PPT文件不播放时,是不会计时的,可能是判断F5(播放PPT不按F5也监测到)或内存中能监测到到播放的状态, 这个软件在win8里不能控制,另时间设定不灵活。 [/quote]那你就应该想办法检查是否打开了。。我觉得可以这样 检查PPT软件是不是运行了 再检查PPT文件是不是被锁定了 这样就好判断了
  • 打赏
  • 举报
回复
在VS中添加MS Office Power Point Liberay的COM组件引用,就可以取得PPT的状态
长空X 2015-05-21
  • 打赏
  • 举报
回复
思路应该是运行时检测全局或这个软件的F5是否被按下了吧?
wind_cloud2011 2015-05-21
  • 打赏
  • 举报
回复
没人做过这方面的?

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧