VB API程序关闭

VB API程序关闭,第1张

widebright - 一派掌门 十二级 有点搞笑啊~向窗口发送,WM_CLOSE 消息,可以用findwindows那个api 难道我不是向窗口发送wm_close消息吗?难道获取窗口句柄非得用findwindows这个函数吗?

还有楼主~你的提问本身就有点问题~千千本身并没有关闭 提示 至少我的版本没有~不知道你是什么版的?你自己点关闭按钮 它还会d出提示窗口?

如果千千本身没有这个提示 。你完全可以自己虚拟一个窗口出来用MSGBOX

在结束之前d出窗口 判断用户点 确定还是取消 如果确定就 关闭。否就继续开着。

我这个代码完全没问题的~我测试过 拿腾讯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(xyx, xyy) '(取得当前鼠标坐标下窗口的句柄)

Text1 = ahwnd

End Sub

2个text 1个timer 1个按钮

鼠标移动到要关闭的窗体~text1显示句柄 在text2输入句柄 点按钮关闭

首先根据进程名找到该进程的ID,如已知某进程的进程名为Applicationexe,可以用列举进程的办法找的该进程的ID(前提是系统中有且只有一个这样的进程):

HANDLE hProcessSnap;

TCHAR ProcessName[]="Applicationexe";

DWORD ProcessID=0x00;

hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

if(hProcessSnap==INVALID_HANDLE_VALUE)

{

printf("列举进程失败\n");

return ;

}

PROCESSENTRY32 pe32;

pe32dwSize = sizeof(pe32);

BOOL bProcess = Process32First(hProcessSnap, &pe32);

TCHAR buff[1024];

while(bProcess)

{

if(strcmp(ProcessName,pe32szExeFile)==0)

{

ProcessID= pe32th32ProcessID;

break;

}

memset(buff, 0x00, 1024);

bProcess=Process32Next(hProcessSnap, &pe32);

}

if(ProcessID==0)

{

printf("没有找到进程%s", ProcessName);

return;

}

然后把ProcessID作为参数,按照下面这篇文章所说的方法得到该进程的主窗口句柄:>

用C脚本可以关闭应用程序,如下脚本可关闭计算器HWND h=NULL;int r=0;h=FindWindow(NULL,"计算器");r=PostMessage(h,0x10,0,0);把计算器改成其它程序窗口标题即可关闭其它程序 查看更多答案>>

记得采纳啊

::PostMessage(AfxGetMainWnd()->GetSafeHwnd(),WM_CLOSE,0,0);

首先你要找到时主窗口句柄,然后发消息就好了!

一般登陆界面才是自己添加的对话框资源,而主对话框才是程序的主界面,,,

以上就是关于VB API程序关闭全部的内容,包括:VB API程序关闭、VC 关闭 进程、如何在WinCC 的运行状态下关闭一个WINDOWS程序拜托了各位 谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10625867.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存