|
3驿站币
本帖最后由 小黑的神喵 于 2021-8-24 22:17 编辑
#include<Windows.h>
#include<tchar.h>
#include<CommCtrl.h>
static TCHAR szWindowClass[] = _T("WindowClass");
static TCHAR szTitle[] = _T("窗口程序");
UINT IDC_BUTTON_1 = 200;
UINT IDC_BUTTON_2 = 201;
//5.窗口函数处理消息
LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
PAINTSTRUCT ps;
HDC hdc;
TCHAR greeting[] = _T("hellowrold");
switch (uMsg)
{
case WM_CREATE:
case WM_COMMAND: {
HWND hButtonWnd1 = CreateWindow(WC_BUTTON, _T("打开EXCEL"), WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE, 100, 100, 80, 40, hWnd, (HMENU)IDC_BUTTON_1, NULL, NULL);
HWND hButtonWnd2 = CreateWindow(WC_BUTTON, _T("关闭EXCEL"), WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE, 100, 200, 80, 40, hWnd, (HMENU)IDC_BUTTON_2, NULL, NULL);
UINT nCtrlID = LOWORD(wParam);//Wparam:低字节位表示ID号,高字节为表示控件通知,比如用户单击了按钮,通知码为BN_CLICKED
UINT nCode = HIWORD(wParam);//lParam保存了控件的句柄
if (nCode == BN_CLICKED) {
if (nCtrlID == IDC_BUTTON_1)
{
SHELLEXECUTEINFO ShellInfo = { 0 };
ShellInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShellInfo.lpVerb = _T("open");//执行动作
ShellInfo.lpFile = _T("C:\\Program Files\\Microsoft Office\\root\\Office16\\EXCEL.EXE");
ShellInfo.nShow = SW_SHOW;
ShellInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
BOOL bRet = ShellExecuteEx(&ShellInfo);
}
if (nCtrlID == IDC_BUTTON_2) {
}
}
}break;
设计的第一个按键打开EXCEL怎么通过第二个按键实现关闭EXCEL 就是这一部分if (nCtrlID == IDC_BUTTON_2) {
}感谢大佬帮助,暑假作业就差这一部分功能的实现了
获取excel的hwnd 然后通过PostMessage发送关闭窗口消息给hwnd ,自己用搜索引擎记得牢,我就不啰嗦了
|
最佳答案
查看完整内容
获取excel的hwnd 然后通过PostMessage发送关闭窗口消息给hwnd ,自己用搜索引擎记得牢,我就不啰嗦了
上一篇: 请问怎么更快的复制大文件?下一篇: 关于sendmessages的问题
|