VB API程序关闭

向指定进程发送关闭按钮,和点击程序关闭按钮的效果一样。不是强制结束进程。只是关闭,这样可以避免那些没有保存的进程被关闭。现在要关闭的进程是千千静听的TTplay。要求关闭... 向指定进程发送关闭按钮,和点击程序关闭按钮的效果一样。不是强制结束进程。只是关闭,这样可以避免那些没有保存的进程被关闭。现在要关闭的进程是千千静听的 TTplay。
要求关闭ttplaye,并提示 “是否关闭 "TTplay的标题"”
请看好要求。是关闭不是结束。
那楼下的给个更好的啊
我的意思是程序关闭千千静听前询问,并不是千千静听询问。最终目的就是和点右上角的关闭按钮效果一样的,是为了避免某些程序被强制关闭而无法保存数据。
千千静听会在关闭前保存一些数据,如当前播放的歌曲,如果是关闭进程的话,就无发保存了。现在就是要向千千静听发送关闭命令。还有就是千千静听的标题一直是以歌曲名的形式滚动,所以要求获取已知进程的标题名,这只是附带的,别的地方要用。主要还是向进程发送关闭按钮。
再说明一下,程序的功能和关闭Word一样,如果没有保存的话,Word会提示,如果保存了就会关闭,就是不是关闭或结束进程。只是发送关闭命令。最终是否关闭看情况。
说的已经够明白了。
本人菜鸟,希望多给点代码。只给函数的话,不知道则么用啊。
展开
 我来答
mosquitokobe
2009-01-10 · TA获得超过4253个赞
知道大有可为答主
回答量:5008
采纳率:50%
帮助的人:0
展开全部
widebright - 一派掌门 十二级 有点搞笑啊~向窗口发送,WM_CLOSE 消息,可以用findwindows那个api 难道我不是向窗口发送wm_close消息吗?难道获取窗口句柄非得用findwindows这个函数吗?

还有楼主~你的提问本身就有点问题~千千本身并没有关闭 提示 至少我的版本没有~不知道你是什么版的?你自己点关闭按钮 它还会弹出提示窗口?
如果千千本身没有这个提示 。你完全可以自己虚拟一个窗口出来用MSGBOX
在结束之前弹出窗口 判断用户点 确定还是取消 如果确定就 关闭。否就继续开着。
我这个代码完全没问题的~我测试过 拿腾讯tt这个浏览器~在选项里 退出时提示关闭确认 前打勾~
直接结束进程是不会有提示~但是用我代码结束会由提示~

Private Const WM_CLOSE = &H10
Private Const WM_QUIT = &H12
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function WindowFromPointXY Lib "user32" Alias "WindowFromPoint" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (LpPoint As POINTAPI) As Long
Private Type POINTAPI
x As Long
y As Long
End Type
Dim ahwnd As Long
Dim xy As POINTAPI '(声明变量类型)
Private Sub Command1_Click()
PostMessage Text2, WM_CLOSE, 0, 0 '或 PostMessage Handle,WM_QUIT,0,0
End Sub
Private Sub Timer1_Timer()
GetCursorPos xy '(取得XY的座标)
ahwnd = WindowFromPointXY(xy.x, xy.y) '(取得当前鼠标坐标下窗口的句柄)
Text1 = ahwnd
End Sub

2个text 1个timer 1个按钮
鼠标移动到要关闭的窗体~text1显示句柄 在text2输入句柄 点按钮关闭
百度网友32cdd9945
2009-01-05 · TA获得超过1374个赞
知道大有可为答主
回答量:2429
采纳率:100%
帮助的人:1940万
展开全部
向窗口发送,WM_CLOSE 消息,可以用findwindows那个api

楼上的代码不是很符合要求^_^
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a6essaw
2009-01-13 · TA获得超过156个赞
知道小有建树答主
回答量:266
采纳率:0%
帮助的人:225万
展开全部
不要吵了,方法多的是。
不过 mosquitokobe的方法不是很好,虽然这样可以破解一些窗口的句柄。
widebright 是一种正常的方法
还有一种正常的方法补充一下,就是在系统进程快照内获取进程PID,然后根据PID得到窗口句柄,发送消息。这个方法适用那些变化窗口标题的进程。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式