怎样用vb程序来关闭其它应用程序(*.exe)?谢谢

hamehame 2002-01-28 09:59:30
怎样用vb程序来关闭其它应用程序(*.exe)?谢谢
...全文
1032 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
uguess 2002-01-28
  • 打赏
  • 举报
回复
用 PostMessage 即可。用上面的例子试一试!
uguess 2002-01-28
  • 打赏
  • 举报
回复
Option Explicit

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 "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_CLOSE = &H10

Private Sub Command1_Click()
On Error Resume Next
Shell "winmine.exe", 1
End Sub
Private Sub Command2_Click()
Dim lpClassName As String, lpCaption As String
Dim Handle As Long
Dim RetVal As Long

lpClassName = "扫雷"
lpCaption = "扫雷"

Handle = FindWindow(vbNullString, lpCaption)

PostMessage Handle, WM_CLOSE, 0&, 0&

End Sub
softworms 2002-01-28
  • 打赏
  • 举报
回复
使用api中的findwindow()函数啊,第一参数为null,第二个为窗口的标题,得到它的句柄后就用sendmessage()给它发一个关闭的消息。查句柄例程如下:
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long
Private Declare Function ShowMe Lib "user32" Alias "BringWindowToTop" (ByVal hwnd As Long) As Long
Dim THandle As Long
Private Sub Command1_Click()
THandle = FindWindow(vbEmpty, "文档 - 写字板")
MsgBox THandle
ShowMe THandle
End Sub
Private Sub Form_Load()
Shell "c:\windows\write.exe", 1
End Sub
dbcontrols 2002-01-28
  • 打赏
  • 举报
回复
在VB6+98下可以关闭扫雷程序。
hamehame 2002-01-28
  • 打赏
  • 举报
回复
我用spy看了,把lpClassName$ 、lpCaption$ 都找到了,但还是关不了。为什么呢?是不是和WM_SYSCOMMAND, SC_CLOSE这二个参数有关呢!

我想用扫雷做个example。

我是这么写的



Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) 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 Sub Command1_Click()
On Error Resume Next
aa = Shell("C:\WINDOWS\winmime.EXE", 1)
End Sub
Private Sub Command2_Click()
Const NILL = 0&
Const WM_SYSCOMMAND = &H112
Const SC_CLOSE = &HF060
lpClassName$ = "扫雷"
lpCaption$ = "扫雷"
Handle = FindWindow(lpClassName$, lpCaption$)
X& = SendMessage(Handle, WM_SYSCOMMAND, SC_CLOSE, NILL)
End Sub

请告诉为什么不行呢?


uguess 2002-01-28
  • 打赏
  • 举报
回复
用SPY看一看。
hamehame 2002-01-28
  • 打赏
  • 举报
回复
计算器的lpClassName$ = "SciCalc"

我怎么知道我要关闭(.exe)的lpclassname呢!

sippey 2002-01-28
  • 打赏
  • 举报
回复
当然API
Raphael_CSDN 2002-01-28
  • 打赏
  • 举报
回复
http://www.cfan.com
这是电脑爱好者的网址!

例子我不能保证有~~~但先上去找找再说!
dbcontrols 2002-01-28
  • 打赏
  • 举报
回复
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) 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 Sub Command1_Click()
On Error Resume Next
aa = Shell("C:\WINDOWS\CALC.EXE", 1)
End Sub
Private Sub Command2_Click()
Const NILL = 0&
Const WM_SYSCOMMAND = &H112
Const SC_CLOSE = &HF060
lpClassName$ = "SciCalc"
lpCaption$ = "计算器"
Handle = FindWindow(lpClassName$, lpCaption$)
X& = SendMessage(Handle, WM_SYSCOMMAND, SC_CLOSE, NILL)
End Sub
Raphael_CSDN 2002-01-28
  • 打赏
  • 举报
回复
同意楼上的意见!
例子嘛~~~电脑爱好者 上面有!
先用API函数得到要关闭窗口的标题,然后再用API函数中的关闭(close)函数将其关闭即可!
hamehame 2002-01-28
  • 打赏
  • 举报
回复
那里有这样的例子?给个网址吧!
lcooky 2002-01-28
  • 打赏
  • 举报
回复
通过API找到改应用程序的句柄,然后给这个程序发送close的消息把它关掉。网上很多例子,自己当下来看一下,体会比较深!呵呵
非常详尽的Excel_VBA程序设计,好不容易才整理搜索到的。 一、VBA语言基础 1 第一节 标识符 1 第二节 运算符 1 第三节 数据类型 1 第四节 变量与常量 1 第五节 数组 2 第六节 注释和赋值语句 2 第七节 书写规范 2 第八节 判断语句 2 第九节 循环语句 3 第十节 其他类语句和错误语句处理 4 第十一节 过程和函数 5 一.Sub过程 5 二.Function函数 5 三.Property属性过程和Event事件过程 5 第十二节内部函数 6 一.测试函数 6 二.数学函数 6 三.字符串函数 6 四.转换函数 6 五.时间函数 7 第十三节 文件操作 7 文件 7 删除 7 打开 7 读入 8 写入 8 关闭 8 其他文件函数 8 二、Visual BASIC程序设计网络教学 8 第一课 VBA是什么 8 1.1 VBA是什么 8 1.2 EXCEL环境中基于应用程序自动化的优点 9 1.3 录制简单的宏 9 1.4 执行宏 10 1.5 查看录制的代码 10 1.6 编辑录制的代码 11 1.7 录制宏的局限性 12 1.8 小结 12 第二课 处理录制的宏 12 2.1 为宏指定快捷键 12 2.2 决定宏保存的位置 13 2.3 个人宏工作簿 13 2.3.1 保存宏到个人宏工作簿 13 2.3.2 使用并编辑个人宏工作簿中的宏 13 2.4 将宏指定给按钮 14 2.5 将宏指定给图片或其他对象 14 2.6 小结 14 第三课 学习控件 15 3.1 EXCEL开发过程简介 15 3.2 认识不同的控件 15 3.3 向工作表添加控件 15 3.4 设置控件的特性 16 3.5 给控件命名 16 3.6 使用用户窗体 16 3.7 疑难解答 17 第四课 理解变量和变量的作用 17 4.1 代码存在的位置:模块 17 4.2 对模块的概览 18 4.2.1 创建过程 18 4.2.2 运行宏 19 4.3 保存对模块所做的改变 19 4.4 变量 19 4.4.1 变量的数据类型 20 4.4.2 用Dim语句创建变量(声明变量) 21 4.4.3 变量命名的惯例 21 4.4.4 使用数组 22 4.4.5 变量赋值 23 第五课 利用VBA设置工作表使用权限 23 1.使用With语句。 25 2.使用对象变量。 25 方法3:减少对象的激活和选择 26 方法4:关闭屏幕更新 26 第六课 提高Excel中VBA的效率 27 方法1:尽量使用VBA原有的属性、方法和Worksheet函数 27 方法2:尽量减少使用对象引用,尤其在循环中 28 1.使用With语句。 28 2.使用对象变量。 28 3.在循环中要尽量减少对象的访问。 28 方法3:减少对象的激活和选择 28 方法4:关闭屏幕更新 29 第七课 如何在Excel里使用定时器 29 三、学习微软 Excel 2002 VBA 编程和XML,ASP技术 31 第一章 电子表格自动化简介和了解宏命令 31 1了解宏 31 2宏命令的普通应用 31 3写宏之前的计划 32 4录制宏 33 5运行宏 34 6修改宏代码 35 7添加注释 38 8分析宏代码 38 9清除宏代码 39 10测试修改好的宏 40 11两个层面运行宏的方法 40 12完善你的宏代码 41 13重新命名宏 43 14运行宏的其它方法 43 15使用键盘快捷键运行宏 43 16通过菜单运行宏 44 17通过工具栏按钮运行宏 46 18通过工作表里面的按钮运行宏 47 19保存宏 48 20打印宏 48 21保存宏在个人宏工作簿 48 22打开含有宏的工作簿 50 23VB编辑窗口 51 24了解工程浏览窗口 51 25了解属性窗口 52 26了解代码窗口 52 27 VB编辑器里的其它窗口 54 28接下来…… 55 第二章 VBA 第一步 55 1了解指令,模块和过程 55 2 VBA工程命名 55 3模块重命名 56 4从其它工程调用过程 57 5了解对象,属性和方法 58 6学习对象,属性和方法 59 7句法和文法 61 8打断很长的VBA语句 63 9了解VBA错误 63 10查找帮助 65 11语法和编程快捷助手 66 12属性/方法列表 67 13常数列表 67 14参数信息 68 15快速信息 68 16自动完成关键字 68 17缩进/凸出 69 18设置注释块/解除注释块 69 19使用对象浏览器 69 20使用VBA对象库 74 21用对象浏览器来定位过程 75 22使用立即窗口 75 23获取立即窗口里的信息 77 24学习对象 77 25电子表格单元格操作 78 26使用Range属性 78 27使用Cells属性 78 28使用Offset属性 79 29选择单元格的其它方法 80 30选择行和列 80 31获取工作表信息 81 32往工作表输入数据 81 33返回工作表中的信息 81 34单元格格式 81 35移动,复制和删除单元格 82 36操作工作簿和工作表 82 37操作窗口(Windows) 83 38管理Excel应用程序 84 39接下来…… 84 第三章 了解变量,数据类型和常量 84 1保存VBA语句的结果 85 2变量是什么 85 3数据类型 85 4如何产生变量 86 5如何声明变量 86 6明确变量的数据类型 88 7变量赋值 89 8强制声明变量 91 9了解变量范围 92 10过程级别(当地)变量 92 11模块级别变量 92 12工程级别变量 93 13变量的存活期 94 14了解和使用静态变量 94 15声明和使用对象变量 95 16使用明确的对象变量 95 17查找变量定义 96 18在VB过程里面使用常量 96 19内置常量 96 20接下来…… 97 第四章 VBA过程:子程序和函数 98 1.关于函数过程 98 2.创建函数过程 98 3.执行函数过程 100 4.从工作表里运行函数过程 100 5.从另外一个VBA过程里运行函数过程 102 6.传递参数 102 7.明确参数类型 103 8.按地址和按值传递参数 104 9.使用可选的参数 105 10.定位内置函数 106 11.使用MsgBox函数 107 12.MsgBox函数的运行值 111 13.使用InputBox函数 111 14.数据类型转变 113 15.使用InputBox方法 114 16.使用主过程和子过程 116 17.接下来…… 118 第五章 基于VBA做决定 118 1.关系和逻辑运算符 119 2.If…Then语句 119 3.基于多于一个条件的决定 121 4.The If…Then…Else语句 122 5.If…Then…ElseIf语句 125 6.嵌套的If…Then语句 126 7.Select Case语句 127 8.和Case子句一起使用Is 128 9.确定Case子句里数值的范围 129 10.在Case子句里确定多个表达式 130
VB试题.doc 一、 填空题 1.VB中若要产生一消息框,可用__msgbox__函数来实现。 2.常量是指在程序运行过程中, 其值不能改变 的量。 3.整数类型数据分别包括整型和 长整型 数据。 4、在VB集成开发环境中,运行应用程序的方法有三种:一是_单击“运行 ”菜单下的启动_;二是_单击工具栏上的启动按钮;三是_按F5键 。 5、在VB中若要让某对对象获取焦点,则可通过__ Setfocus_方法来实现。 6.列表框(ListBox控件)显示 项目列表 ,用户可从中选择一个或多个项目。 7.框架(Frame控件)可以用来 对其它控件 进行分组,以便于用户识别,主要用于为单选按钮分组。 8、在VB中,用来描述对象外部特征的量称之为对象的_属性__。 9、为使某窗口中的命令按钮“取消(C)”具有如下特性:按“Alt+C”键或按 “ESC” 键,均可代替用鼠标单击该按钮的操作,应设置该按钮的Caption属性值为_取消(&C)___,并且设置其_ Cancel__属性值为__ True__。 10、在过程内用_ Static__声明的变量为静态变量,在执行一个过程结束时,过程中所用到的 Static变量的值会保留,下次再调用此过程时,变量的初值是上次调用结束时被保留的值。 11、在模块文件中的声明部分用Global或__ Dim__关键字声明的变量为全局变量。 12、在模块文件中的声明部分用__ Dim__或__ Private__定义的变量为模块级变量。 13.计时器控件通过定期激活Timer事件,使得Timer控件 可以每隔一个时间段 就执行一次Timer事件中的代码。 14.要获得滚动条的当前位置,可以访问通过 Value 属性来实现。 15.关闭正在运行的VB窗口将自动触发的事件是 Unload 。 二、选择题 1.工程文件的扩展名是( B )。 A.vbg B.vbp C.vbw D.vbl 2.在以下窗体中没有采用的控件是( B )。 A.文本框 B 垂直滚动条 C.框架 D 命令按钮 3.滚动条控件(如图所示)的Largechange属性所设置的是( A ) A. 单击滚动条和滚动箭头之间的区域时,滚动条控件Value属性值的改变量 B. 滚动条中滚动块的最大移动位置 C. 滚动条中滚动块的最大移动范围 D. 滚动条控件无该属性 4、用于从字符串左边截取字符的函数是( A ) A、Ltrim( )  B、Trim( )  C、Left( )  D、Instr( ) 5、可获得当前系统日期的函数是( A )

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧