设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 940|回复: 7
打印 上一主题 下一主题

[其它] [求助]关闭一个程序

[复制链接]
跳转到指定楼层
1#
发表于 2007-1-25 01:46:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请各位帮个忙,我想用VBA代码判断一个程序是否运行,如果运行就关闭它。该怎么做?

比如说判断QQ是否运行,如果运行就关闭QQ.exe要怎么做?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-1-25 04:08:00 | 只看该作者
病毒行为
3#
发表于 2007-1-25 04:24:00 | 只看该作者
用进程判断
4#
 楼主| 发表于 2007-1-25 18:29:00 | 只看该作者
要怎么做呢?版主可以给段示例代码吗?
5#
 楼主| 发表于 2007-1-29 00:10:00 | 只看该作者
求助,一点通和andymark两位大师

可以帮忙指导一下吗?急需使用啊
6#
发表于 2007-1-29 04:14:00 | 只看该作者
7#
 楼主| 发表于 2007-1-29 18:03:00 | 只看该作者
谢谢andymar版主

好佩服啊
8#
发表于 2007-1-30 04:40:00 | 只看该作者
如果要关闭某个正在打开的文件,可以使用如下代码,是我网上找的。

'原理:先用FindWindow找到程序窗体,然后用SendMessage向这个窗口应答。
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "ostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_SYSCOMMAND = &H112
Private Const SC_MINIMIZE = &HF020&
Private Const WM_CLOSE = &H10
Private Declare Function DestroyWindow Lib "user32" (ByVal hWnd As Long) As Long
Dim windowsH As Long




Public Sub close_excelfile()


'关闭正在打开的文件,只要获取到 指定文件的caption就可以办到




    a = FindWindow(vbNullString, "microsoft excel - 台帐.xls")
    Debug.Print a
    b = PostMessage(a, WM_CLOSE, 0, 0)
    Debug.Print b
   


End Sub


[此贴子已经被作者于2007-1-29 20:40:54编辑过]

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-9 06:03 , Processed in 0.105428 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表