曾经在VCKbase(VC知识库)网站看到过一篇关于Flash的文章,叫做《在VC中使用 Flash 美化你的程序》,文章中介绍的是使用Flash控件在对话框程序中播放Flash文件。由于以前的工作需要曾经接触过使用Scoket通信在VC的Exe程序和Flash程序中通信的相关技术。在这里介绍给大家。相比上面的那篇文章,其有一下有点:
1、 界面上更加优美。所有的界面部分都是直接使用Flash。
2、 所能完成的功能更加完备。几乎所有能在VC的程序中能使用的功能都可以使用。
要做到以上两点所要做的工作也是很简单的,使用的技术也很简单。只要求以下几点:
1、 会使用简单的Flash编辑工具。会写简单的Flash Script脚本。
2、 Socket编程的相关知识。
程序的原理就是:VC程序(对话框程序)在启动以后最小化的任务栏,并建立一个Socket Server进行侦听,在建立完Socket和设置好相关的处理函数以后,启动编译为Exe的Flash程序,Flash程序通过Socket于VC程序建立连接,将Flash界面上的操作转换为Socket通信,让VC程序处理完成以后将结果返回给Flash程序。其简单的步骤为:
1、 在VC程序端(或者其他任何编程语言的程序):建立一个对话框程序,在APP类的InitInstance()函数中添加Scoket初始化:
if (!AfxSocketInit
())
{
AfxMessageBox(IDP_SOCKETS_INIT_FAILED
);
return FALSE
;
}
2、 在对话框类的OnInitDialog()函数中添加处理界面部分的程序段:
MoveWindow(0,0,0,0); //将对话框程序界面改变为0
ShowWindow(SW_SHOWMINIMIZED); //使界面最小化到任务栏
OnOK(); //调用对话框的OnOK函数
3、 在对话框类的OnOK()函数中建立Socket server并侦听:
WSADATA
wsaData;
int
iErrorCode;
if (WSAStartup(MAKEWORD(2,1),&wsaData)) //Windows Sockets DLL
{
AfxMessageBox("Winsock can not initialize.",MB_ICONSTOP
);
WSACleanup
();
SendMessage(WM_CLOSE,NULL,NULL);//关闭对话框程序
return
;
}
//Create server Socket,type is SOCK_STREAM,
ServerSocket = socket(PF_INET,SOCK_STREAM
,0);
if(ServerSocket == INVALID_SOCKET
)
{
AfxMessageBox("Could not create server Socket.",MB_ICONSTOP
);
SendMessage(WM_CLOSE,NULL,NULL); //关闭对话框程序
return
;
}
m_sockServerAddr.sin_family = AF_INET
;
//IP 设置为广播
m_sockServerAddr.sin_addr.s_addr = inet_addr("127.0.0.1"
);
//使用9813端口,自己编程的时候可以随意选择,最好使用5000以后的
m_sockServerAddr.sin_port = htons
(9813);
//绑定
Socket
if (bind(ServerSocket,(LPSOCKADDR)&m_sockServerAddr,sizeof(m_sockServerAddr)) == SOCKET_ERROR) //
{
AfxMessageBox("Could not bind Server socket.",MB_ICONSTOP
);
SendMessage(WM_CLOSE,NULL,NULL); //关闭对话框程序
return
;
}
iErrorCode = WSAAsyncSelect(ServerSocket,m_hWnd,WM_CLIENT_ACCEPT,FD_ACCEPT
);
if (iErrorCode == SOCKET_ERROR
)
{
AfxMessageBox("Could not select socket.",MB_ICONSTOP
);
SendMessage(WM_CLOSE,NULL,NULL); //关闭对话框程序
return
;
}
if (listen(ServerSocket,1) == SOCKET_ERROR) //begin listen client
{
AfxMessageBox("Could not listen.",MB_ICONSTOP
);
SendMessage(WM_CLOSE,NULL,NULL
);
return
;
}
//启动Flash程序
CString
FlashExePath;
char
DialogExePath[256];
//获得对话框程序的路径,包含文件名
分享到:
相关推荐
在本文中,我们将深入探讨如何使用VC++集成Flash技术来为程序增添美观效果,特别是针对登录界面和公司信息展示界面。Flash,作为一种流行的多媒体创作工具,可以创建动态、交互式的图形和动画,为传统的Windows应用...
本教程主要关注如何使用MFC结合Flash技术来美化你的程序界面,提升用户体验。 首先,我们要理解Flash在其中的作用。Flash是一种交互式矢量图形和富媒体播放平台,它可以创建动态的、交互式的用户界面和动画效果。在...
在VC++编程环境中,我们可以利用Adobe Flash Player的ActiveX控件来实现程序界面的美化,这一技术对于提升用户界面的吸引力和交互性有着显著的效果。本文将深入探讨如何在VC++项目中集成Flash,实现两者之间的通信,...
在VC++环境中,使用Flash美化MFC程序的界面主要涉及两个关键步骤:将Flash动画嵌入到程序中和实现Flash与程序之间的交互。下面详细解释这两个步骤。 **第一步:将Flash动画嵌入到MFC程序中** 这一步相对简单,通过...
3. **Flash与VC++的数据交换**:在Flash中,你可以使用`ExternalInterface`类来与外部应用程序通信。例如,定义一个ActionScript函数,接收来自VC++的数据: ```actionscript import flash.external....
本资源“VC中使用 Flash 美化你的程序.rar”提供了一种方法,帮助VC++程序员将Flash SWF文件嵌入到Windows应用程序中,从而提升用户体验。 首先,我们要理解Flash在网页中的工作原理。Flash是一种创建动态内容的...
在IT领域,尤其是在Windows平台下的软件开发中,Visual C++(简称VC++)是一个非常重要的集成开发环境(IDE),它允许开发者使用C++语言来创建各种应用程序。本示例是关于如何利用VC++来实现播放Flash动画的功能,这...
VC++ 实现 FLASH 的 UI 启动画面 ...本资源摘要信息详细介绍了使用 VC++ 实现 FLASH 的 UI 启动画面的技术要点,涵盖了 VC++ 的使用、UI 设计、Flash 和 Shockwave Flash Object 控件的使用、控件注册等方面的内容。
### 在VC中使用Flash美化程序的关键知识点 #### 一、将Flash动画嵌入程序 **1. 检查系统是否已安装Shockwave Flash Object控件** - **控件名称**:根据Flash版本不同,控件文件名可能为`swflash.ocx` (Flash 5.0...
通过使用Flash ActiveX控件,我们可以将Flash内容嵌入到VC++应用程序中,实现动态的启动界面。这个过程需要对C++编程和Flash动画设计有一定的理解和实践经验。通过不断的测试和优化,你可以创建出既美观又高效的UI...
总结而言,"vc++与flash交互"涉及到的技术主要包括VC++的ActiveX控件使用、Flash的ActionScript编程以及两者之间的通信协议,这些知识对于开发跨平台、富媒体的应用程序至关重要。通过学习和实践这个例子,开发者...
在Windows操作系统环境下,使用VC++来实现Flash功能通常涉及到ActiveX技术或者Flash Player的API。ActiveX是一种微软的组件对象模型(COM),允许开发者将各种不同类型的控件(如Flash Player)嵌入到他们的应用程序...
在IT行业中,VC++(Visual C++)...但如果你仍需要在特定场景下使用Flash,了解如何用VC++编写Flash播放器仍然是有价值的技能。不过,现在更多的趋势是转向使用HTML5的Video元素和WebGL等技术来实现多媒体内容的播放。
在VC++环境中实现全屏播放Flash文件涉及到许多技术细节,主要使用Adobe提供的Flash ActiveX控件,即Flash Player AX。本篇文章将详细讲解如何在VC++项目中集成这个控件,实现FLV和SWF格式的Flash文件的全屏播放。 ...
在VC++环境中实现Flash动画播放涉及到了多媒体编程和ActiveX技术。Flash动画通常是SWF格式,而VC++作为Microsoft的C++集成开发环境,可以通过利用ActiveX控件来播放SWF文件。ActiveX是一种组件对象模型(COM),允许...
总的来说,这个VC++编写的Flash播放器项目是一个很好的学习案例,它涵盖了Windows程序设计、ActiveX技术、多媒体播放以及C++编程等多个方面的知识。通过研究这样的项目,开发者不仅可以提升自己的编程技能,还能了解...
通过Flash和vc++的交互来实现自己的桌面游戏
在本文中,我们将深入探讨如何使用VC++进行Flash控件编程,特别是在开发能够播放Flash文件的应用程序时。首先,我们要了解VC++(Visual C++)是Microsoft开发的一个集成开发环境,它支持C++语言,提供了丰富的...
综上所述,这个"vc++实现的flash播放器"项目涉及到了ActiveX控件的使用、文件和网络数据的加载、全屏播放的实现、事件处理、用户界面设计以及兼容性处理等多个方面的技术。通过这样的实现,用户能够在不依赖其他...