文章目录
1.程序代码
- 1.程序代码
- 2.作者答疑
如果需要修改窗口程序使其隐藏,可以采用如下代码:
void HideWindow(HWND hDlgWnd)
{
//隐藏窗口
WINDOWPLACEMENT wp;
wp.length = sizeof(WINDOWPLACEMENT);
wp.flags = WPF_RESTORETOMAXIMIZED;
wp.showCmd = SW_HIDE;
::SetWindowPlacement(hDlgWnd, &wp);
//或者
::SetWindowLong(hDlgWnd, GWL_STYLE, GetWindowLong(hDlgWnd, GWL_STYLE) &~WS_EX_TOPMOST);
::SetWindowPos(hDlgWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE);
}
修改窗口过程函数,源码如下所示:
//修改窗口过程函数
#include
LONG OldWndProc = 0;
LRESULT CALLBACK WindowProcNew(HWND hWnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)
{
if (uMsg == 0x036A)//WM_KICKIDLE
{
Process();
}
if (uMsg==WM_USER+100)
{
Process();
}
return CallWindowProc((WNDPROC)OldWndProc, hWnd, uMsg, wParam, lParam);
}
void ModifyWindowProc()
{
//修改窗口过程函数
HWND hDlgWnd = GetProcessMainWnd();//获取进程主窗口
OldWndProc = ::SetWindowLong(hDlgWnd, GWL_WNDPROC, (LONG)WindowProcNew);
}
2.作者答疑
如有疑问,敬请留言。