使用Flash彻底美化你的程序
2010-09-28 14:14
344 查看
使用Flash彻底美化你的程序vc++技术
曾经在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];
//
获得对话框程序的路径,包含文件名
转自:http://hereson.javaeye.com/blog/200694
相关文章推荐
- 使用Flash彻底美化你的程序
- 使用Flash彻底美化你的程序
- 使用Flash彻底美化你的程序
- 使用Flash彻底美化你的程序
- 使用Flash彻底美化你的程序
- 使用Flash彻底美化你的程序
- 使用Flash彻底美化你的程序
- 使用Flash彻底美化你的程序
- 在VC中使用 Flash 美化你的程序(转)
- 使用Flash彻底美化你的应用程序
- 在VC中使用 Flash 美化你的程序
- 在VC中使用 Flash 美化你的程序
- 在VC中使用 Flash 美化你的程序
- 在VC中使用 Flash 美化你的程序[转]
- 在VC中使用 Flash 美化你的程序
- 在VC中使用 Flash 美化你的程序
- 在VC中使用 Flash 美化你的程序
- 在VC中使用 Flash 美化你的程序 (作者:黄金聪)
- 在VC中使用 Flash 美化你的程序: Flash编程
- 在VC中使用 Flash 美化你的程序