(高分求解)如何判断Powerpoint程序打开并正常运行!

子夜1978 2009-10-30 03:03:28
目前我可以通过程序截获PowerPoint是否在打开,但是PowerPoint有一个启动过程,这个过程不能用程序获得执行权限,所以,我想通过程序判断PowerPoint什么时间准备好,然后再执行我的程序~!最好能有点代码~!分数不够继续加~!

之前通过timer已经获得了PowerPoint在运行!

private void timer1_Tick(object sender, EventArgs e)
{
if (!pptopenbool)
{
bool b = false;
foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses())
if (p.ProcessName == "POWERPNT")
{
b = true;

}

if (b)
{
pptopenbool = true;
pptrec();
}
else
{
pptopenbool = false;

}

}

}
...全文
251 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongwenbo520 2011-09-16
  • 打赏
  • 举报
回复
调用API函数,如下:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As Long) As Long

winhwnd = FindWindow("PP11FrameClass", 0)
If winhwnd = 0 Then
Set pptApp = CreateObject("PowerPoint.Application") '创建POWERPOINT对象
pptApp.Visible = True '显示PowerPoint窗口
pptApp.Presentations.Open (app0 & "\PowerPoint\" & File) '打开PowerPoint文档
Else
For Each doc In Presentations
If doc.Name = File Then Found = True
Next doc
If Found = True Then
MsgBox File & "已运行", vbOKOnly, "提示"
Else
MsgBox File & "未运行", vbOKOnly, "提示"
End If
End If
LutzMark 2009-10-30
  • 打赏
  • 举报
回复
1.Win32API获取窗体句柄
2.搜索进程
 System.Diagnostics.Process[] CurrentProcess = System.Diagnostics.Process.GetProcessesByName("POWERPNT");//好像是这个进程名
for (int i = 0; i < CurrentProcess.Length; i++)
{
if (CurrentProcess[i].MainWindowHandle.ToInt32() == 0)
{
try
{
//...
}
catch
{
}
}
}
lerit 2009-10-30
  • 打赏
  • 举报
回复
呵呵,这代码是我写的那段把?恩,你现在这个要求如果通过判断是否加载完毕,确实很难,我有一个思路:
既然已经判断PowerPoint开始启动可以实现了,那么如果马上调用pptrec(oPptApp = (PowerPoint.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("PowerPoint.Application");应该是这个方法中的语句把??),可能由于没有加载完毕而出现空引用,两个方法,一种就是调用pptrec前让等待几秒钟再执行,当然这个时间你自己要把握好,否则太短了还是会出错:
if (b)
{
pptopenbool = true;
System.Threading.Sleep(5000);//等待五秒
pptrec();
}
另一种方法,就是让循环的获取oPptApp,直到不为空:
//先执行一次
oPptApp = (PowerPoint.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("PowerPoint.Application");
while(oPptApp ==null)
{
oPptApp = (PowerPoint.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("PowerPoint.Application");
}
下面你再使用oPptApp 就一定不是空啦
config_man 2009-10-30
  • 打赏
  • 举报
回复
...
子夜1978 2009-10-30
  • 打赏
  • 举报
回复
我现在是要捕捉PPT播放的内容,所以一定要等PPT运行起来不然
oPptApp = (PowerPoint.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("PowerPoint.Application");,这段会报错!~
bigmingming 2009-10-30
  • 打赏
  • 举报
回复
操作PPT,不一定要打开PPT程序,在后台,象EXCEL一样可以操作,只要判断PPT实例是否起来
计算机基础实验大作业要求 一、作业目的 本作业是对《计算机基础》课程的进一步深化和强化练习。 主要目的是在原有课程文档处理内容学习的基础上,巩固基本知识和基本技能,进 一步深入学习高级技能,并掌握Office各个组件如Word、Excel、PowerPoint等的综合运 用,从而增强实际操作、综合应用的能力。 二、主要任务 1. 制作一篇Word文档。 2. 制作一个Excel工作簿。 3. 制作一份PowerPoint演示文稿。 三、任务具体要求 (一)、制作一篇Word文档,具体要求见下表相应内容 (二)、制作一个Excel工作簿,具体要求见下表相应内容 (三)、制作一份PowerPoint演示文稿,具体要求见下表相应内容 (五)作业总结报告(word格式) 主要描述Word文档、Excel工作簿、PowerPoint演示文稿(网站,如果有)的制作情况, 内容要求: 1、对word文档 设计思路: 【(1)主题的选择,资料如何获取等。 (2)版面的设计,各项内容的布局安排等。】 制作中使用的主要技术: 【写出所使用的主要技术及用于何处。如: (1)艺术字:用于标题。 (2) …… …… ……】 【文档分栏、图片、图文混排、文字排版(横排、纵排)、艺术字、自选图形、首字 下沉、页眉页脚、页面背景、边框底纹、文本框、项目符号与项目编号、表格等】 制作中遇到的主要问题及解决办法: 【……】 2、对excel工作薄: 制作中使用的主要技术: 【写出所使用的主要技术及是如何运用的。如: (1)格式化数据表:……(在何处做了怎样的格式化设置) (2) …… …… ……】 【格式化数据表、单元格的合并、对齐方式、边框底纹、条件格式、公式函数的使用 、添加图表,以及图表的格式设置、排序、筛选数据、分类汇总】 制作中遇到的主要问题及解决办法: 【……】 3、对powerpoint演示文稿: 制作过程: 【(1)使用了哪些设计版式,分别用于第几页。 (2)使用了哪种设计模版、配色方案。 (3)艺术字、图片、表格、超级链接等元素分别用在何处。 (4)如何设置的自定义动画。 (5)编号的插入。 (6)制作中使用的其他各项技术。】 制作中遇到的主要问题及解决办法: 【……】 4、收获与体会 【……】 四、作业提交办法 每个同学在完成上述作业后,要将自己的作业内容的文件(WORD文档、EXCEL工作薄、P owerPoint演示文稿、作业报告(word格式))这4个文件上传到教学平台相应作业里。 比如:英语0902班同学王武所建立的四个文件分别为: 英语0902班王武 .doc 英语0902班王武 .xls 英语0902班王武 .ppt 英语0902王武作业报告.doc 上传此4个文件。 以上这些任务要求大家在本学期计算机基础上机课内上机结束后一周完成。 五、如何才能得高分? 要想在本次作业中取得较高的分数,一方面要对作业高度重视,另一方面针对作业中 的知识点如果不会的话,老师讲课时注意听讲,上机实验时认真按实验指导书上的内容 进行练习,不明白的地方大胆问老师。自己的作业创意不要轻易就拿给同学进行抄袭等 ,注意了以上几点,相信大家就可以达到目的了。 "总体任务 "功能要求 "计分 " "制作一篇Word文档,具"至少5页,文字部分2000-3000字 "10 " "体要求如下: " " " "主题鲜明。主题自定," " " "可以是自己的兴趣爱好" " " "、某个体育项目、游戏" " " "软件等等。整篇文档的" " " "内容围绕主题展开。(" " " "必做) " " " " "纸型设置为A4,根据文档内容自行调整页 "10 " " "边距、页面方向等设置 " " " "要求使用 "20 " " ""奇偶页不同"的页眉页脚:奇数页页眉为 " " " "文档名称,偶数页页眉为班级、学号、姓 " " " "名)。页脚中应包含页码、页数,以及文 " " " "档制作时间 " " " "至少使用三级标题样式,如标题1,标题2 "15 " " ",标题3。各级标题应有适当的字体段落等" " " "格式设置,应包含编号。 " " " "文档中应包含图片,对其大小、位置、版 "15 " " "式、颜色等要有适当的设置。 " " " "使用自选图形绘制的图形对象。要求使用 "10 " " "大约10个自选图形工具绘图,插入文字, " " " "设置其叠放次序、文字环绕,必要时调整 " " " "绘图网格,并在完成后组合在一起。 " " " "文档中应包含表格。表格要求有题注,要 "10 " " "求设置表格的边框和底纹、单元格文字方 " " " "向和对齐方式,有拆分和合并单元格。 " " " "文档中要求包含项目符号与编号、插入符 "5 " " "号、分栏、

111,097

社区成员

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

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

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