C语言实现控制台窗口隐藏

简述

  通过以下两个函数来实现窗口的隐藏效果。不仅仅只用于控制台窗口,其他的也可以。(代码在底部)

FindWindow函数

功能

  FindWindow函数的功能是获取一个顶层窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。另外,这个函数不查找子窗口,而且在查找时不区分大小写

函数原型

头文件是windows.h

    HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpWindowName);

参数

  • IpClassName
      指向一个以NULL字符结尾的、用来指定类名的字符串,或一个可以确定类名字符串的原子。如果这个参数是一个原子,那么它必须是一个在调用此函数前已经通过GlobalAddAtom函数创建好的全局原子。这个原子(一个16bit的值),必须被放置在lpClassName的低位字节中,lpClassName的高位字节置零。可以简单的理解为窗口的类名
      如果该参数为NULL时,将会寻找任何与lpWindowName参数匹配的窗口。
  • Ipwindowname
      指向一个以NULL字符结尾的、用来指定窗口名(即窗口标题)的字符串。如果此参数为NULL,则匹配所有窗口名。

  注:在搜索的时候两个参数不一定都要知道,但至少知道其一。

返回值

  如果函数执行成功,则返回值是拥有指定窗口类名或窗口名的窗口的句柄。否则返回值为 NULL 。

ShowWindow函数

功能

  设置指定窗口的显示状态。

函数原型

头文件是windows.h

    BOOL ShowWindow(HWND hWnd, int nCmdShow)

参数

  • hWnd
      指定窗口的句柄

  • nCmdShow
      指示窗口如何显示。如果发送应用程序的程序提供了STARTUPINFO结构,则应用程序第一次调用ShowWindow时该参数被忽略。否则,在第一次调用ShowWindow函数时,该值应为在函数WinMain中nCmdShow参数。
    该参数可以是下表之一

代号 含义 nCmdShow值
SW_HIDE 隐藏窗口并激活其他窗口 0
SW_MAXIMIZE 最大化指定窗口 3
SW_MINIMIZE 最小化指定窗口 6
SW_RESTORE 激活并限制窗口,如果窗口最大化或最小化,则系统将窗口恢复到原来的尺寸和位置。在恢复最小化窗口时,应用程序应该指定这个标志 9
SW_SHOW 在窗口原来的位置以原来的尺寸激活和显示窗口 5
SW_SHOWDEFAULT 以STARTUPINFO结构中指定的SW_FLAG标志设定显示状态 10
SW_SHOWMINIMIZED 激活窗口并将其最小化 2
SW_SHOWMAXIMIZED 激活窗口并将其最大化 3
SW_SHOWMINNOACTIVE 窗口最小化,激活窗口仍然维持激活状态 7
SW_SHOWNA 以窗口原来的状态显示窗口。激活窗口仍然维持激活状态 8
SW_SHOWNOACTIVATE 以窗口最近一次的大小和状态显示窗口。激活窗口仍然维持激活状态 4
SW_SHOWNORMAL 激活并显示一个窗口。如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小。应用程序在第一次显示窗口的时候应该指定此标志 1

返回值

  如果窗口之前可见,则返回值为非零。如果窗口之前被隐藏,则返回值为零。

示例

#include<windows.h>
int main()
{
	HWND hwnd;
	hwnd=FindWindow("ConsoleWindowClass",NULL);	
	if(hwnd)
	{
		ShowWindow(hwnd,SW_HIDE);//设置指定窗口的显示状态
	}
	MessageBox(NULL,"控制台已隐藏","提示",MB_OK);
	system("pause");
	return 0;
}

小提示:控制台的窗口被隐藏了,就得在任务管理器里面把它关掉,不然就不能再次运行了

你可能感兴趣的:(不务正业)