VC/MFC程序开启关闭其他软件,更改窗口类

Posted pupil_小龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC/MFC程序开启关闭其他软件,更改窗口类相关的知识,希望对你有一定的参考价值。

一. 关闭自身软件

 

直接在需要关闭的位置输入

HANDLE hself = GetCurrentProcess();
TerminateProcess(hself, 0);

 

二.关闭其他软件

流程:

1. 获取目标程序的  窗口HWND hWnd  

   HWND hWnd = ::FindWindowA(_T("SoftWareClassName"),NULL); //获取需要软件的窗口

2. int ret = ::SendMessageA(hWnd ,WM_CLOSE,0,0); //关闭软件

 

关于FindWindow()有两个参数  第一个是窗口类名,第二个是窗口名  。使用的时候只需要使用其中一个就够了,另外一个参数写NULL

对于开关自己写的软件可以自定义窗口类名  步骤如下:

1.在窗口的 rc文件中增加 

  CLASS "SoftWareClassName"

2.在窗口创建前增加下面几行代码 注册窗口类

/////////////////////////////////////////////////////////
WNDCLASS wc;

// Get the info for this class.
// #32770 is the default class name for dialogs boxes.
::GetClassInfo(AfxGetInstanceHandle(), _T("#32770"), &wc);

// Change the name of the class.
wc.lpszClassName = _T("SoftWareClassName"); //这里请再次注意,一定要保证和rc资源文件里保存的类名相同!

// Register this class so that MFC can use it.
bool ret=AfxRegisterClass(&wc);

/////////////////////////////////////////////////////////

对于开关别人写的软件可以通过软件获取名称  步骤如下:

下载微软软件spy++获取当前打开的软件窗口名称和类名,如下图 福晰阅读器为窗口名,classFoxitReader为窗口类名。

软件下载地址 :http://pan.baidu.com/s/1kV8frCV

 三. 打开其他软件

在需要打开软件的位置输入

 WinExec(D:\\\\Foxit Reader.exe,SW_SHOWMAXIMIZED);  //开启软件 

以上是关于VC/MFC程序开启关闭其他软件,更改窗口类的主要内容,如果未能解决你的问题,请参考以下文章

Vc++ mfc 窗口类名如何修改

win7打开网络看不到局域网的其他电脑

VC MFC中如何制作无边框窗口

如何关闭win7 开启的无用服务

VC/MFC怎样给菜单项添加勾啊

电脑开机软件自动启动怎么弄