紧急求救!!(关于调用exe的问题)

swang 2003-01-14 10:33:45
我在利用shell命令调用flash生成的exe文件时,在win98下没问题,但在win2000下却不能正常播放flash,到底是什么原因?
另外还可以怎样调用flash生成的exe?
还有,我想在一个按纽的事件中关闭这个flash,应怎么做?
我查了api但没查到。
谁能帮帮我?小弟在这里先谢了。
解决问题另外送分!!!!
谢谢!!!!
...全文
42 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
swang 2003-01-14
好的,已经结贴了
回复
zmcpu 2003-01-14
怎样关闭一个正在运行的程序

你可以使用API函数FindWindow和PostMessage去寻找指定的窗口,并关闭它。下面的例子教给你怎样找到并关掉一个Caption为“Caluclator”的程序。

 

Dim winHwnd As Long

Dim RetVal As Long

winHwnd = FindWindow(vbNullString, "Calculator")

Debug.Print winHwnd

If winHwnd <> 0 Then

RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&)

If RetVal = 0 Then

MsgBox "置入消息错误!"

End If

Else

MsgBox "Calculator没有打开!"

End If

 

为了让以上的代码工作,你必须在模块文件中什么以下API函数:

 

Declare Function FindWindow Lib "user32" Alias _

"FindWindowA" (ByVal lpClassName As String, _

ByVal lpWindowName As String) As Long

Declare Function PostMessage Lib "user32" Alias _

"PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _

ByVal wParam As Long, lParam As Any) As Long

Public Const WM_CLOSE = &H10
回复
HugoWong 2003-01-14
先注册SWFLASH.OCX或FLASH.OCX控件
回复
rushing 2003-01-14
建议使用Flash控件。
回复
holydiablo 2003-01-14
调用和关闭就是楼上说的办法
至于win2000下不能播放,应该是flash自己的问题
回复
HugoWong 2003-01-14
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Const PROCESS_TERMINATE = &H1

Private Sub Form_Load()
Dim pid As Long
Dim hProcess As Long
pid = Shell("notepad.exe")
hProcess = OpenProcess(PROCESS_TERMINATE, False, pid)
Call TerminateProcess(hProcess, 0&)
End Sub

给分吧,结贴吧
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7451

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告