(C++)后台运行一个swf文件,不显示flash player窗口
2012-02-10 13:07
281 查看
基本的思路是这样的:
1、使用WinAPI CreateProcess 创建一个进程,进程运行flash player,并且参数指定运行哪个swf文件。
2、在参数中指定该进程不显示窗口。
具体的做法如下(C++):
想关闭该进程请打开任务管理器关闭,或者调用系统API:
1、使用WinAPI CreateProcess 创建一个进程,进程运行flash player,并且参数指定运行哪个swf文件。
2、在参数中指定该进程不显示窗口。
具体的做法如下(C++):
STARTUPINFO si; ZeroMemory( &si, sizeof(si) ); //隐藏进程窗口 si.cb = sizeof(STARTUPINFO); //以下两上值一定要一起设置,具体原因查看MSDN si.dwFlags = STARTF_USESHOWWINDOW; si.wShowWindow = SW_HIDE; PROCESS_INFORMATION pi; ZeroMemory( &pi, sizeof(pi) ); TCHAR *flashplayer=GetFlashPlayerPath(); TCHAR *robotfile=GetRobotFilePath(); TCHAR args[MAX_PATH]=_T("-swf "); wcscat_s(args,robotfile); //flashplayer: c:/flashplayer.exe //robotfile: -swf c:/test.swf if (!CreateProcess(flashplayer,args, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi)) { TCHAR str[MAX_PATH]; swprintf(str, MAX_PATH, _T("CreateProcess failed (%d)\n"), GetLastError()); AfxMessageBox(str); }
想关闭该进程请打开任务管理器关闭,或者调用系统API:
TerminateProcess(pi.hProcess,0); CloseHandle(pi.hProcess); CloseHandle(pi.hThread);
相关文章推荐
- 用mingw编译C++工程;程序里面的cout<<"aaa";cmd运行c++程序,aaa内容在控制台不显示,如何将aaa输出到控制台屏幕并将控制台内容写到一个文件中。
- 一个程序在后台运行(即隐藏了窗体), 如果再次点击exe时则显示出已运行的程序窗体。
- C++ 一个永远无法点击到的按钮(窗口的显示与隐藏)
- liunx中java服务在后台运行不占用一个窗口
- 后台运行DOS黑窗口的方法(不显示DOS黑窗口)
- 用VS创建一个win32窗口,编译运行都可以,但那个窗口没有显示出来(孙鑫老师第一课问题)
- 自己动手实现一个守护进程,当控制台窗口关闭时还可以在后台运行。每隔一秒钟向my.log文件中插入一条记录
- C++将一个图片显示到窗口里面
- MFC入门学习之控件(2)创建一个对话框窗口并在运行时显示
- C#在后台注册一个脚本,打开一个子窗口,显示在屏幕中间,关闭子窗体刷新子窗体代码
- 试设计一个窗口,内含一个按钮。开始运行时,按钮显示“Click Me”字样,当按钮按下时,按钮显示为“Click Me Again”字样,再按一次,则按钮显示“Click Me”字样,依此循环。
- 在一个窗口中显示多个视频,并在每个子窗口左上角显示系统时间,函数cvShowManyImages是改写的
- Windows下qt的环境配置及运行一个c++"hello world"实例详细步骤
- Excel在任务栏中只显示一个窗口的解决办法
- experiment : 对话框建立多个子窗口, 叠放, 显示一个
- 在一个窗口中更改了数据库内容,在父窗口中需要刷新 以显示最新的数据库内容
- 基于对话框的程序,在主窗口显示后再弹出一个对话框
- JFrame窗口运行后添加控件不显示,拖拽后就出来了
- 一个窗口显示多幅图片
- 使运行的窗口不在任务栏显示