工控编程吧
标题:
199上位机VC MFC隐藏显示桌面文件图标
[打印本页]
作者:
qq263946146
时间:
2016-2-28 20:32
标题:
199上位机VC MFC隐藏显示桌面文件图标
(, 下载次数: 0)
上传
点击文件名下载附件
199上位机VC MFC隐藏显示桌面文件图标
功能展示
有时在进行多媒体演示时会隐藏桌面上的全部文件,我们当前例程实现桌面上全部的文件隐藏与显示,点击隐藏桌面文件图标,将隐藏全部文件,显示桌面文件图标,全部还原显示,,效果如图;
要点提示
桌面的窗口名称是Program Manager;桌面窗口的类名是Progman;所以可以通过这两变量调用函数FindWindow()获得桌面窗口的句柄,再使用函数ShowWindow()进行桌面窗口的显示与隐藏;
FindWindow ()函数原型HWND FindWindow(LPCSTRlpClassName,LPCSTR lpWindowName);
参数表解译:lpClassName
指向一个以NULL字符结尾的、用来指定类名的字符串或一个可以确定类名字符串的原子。如果这个参数是一个原子,那么它必须是一个在调用此函数前已经通过GlobalAddAtom函数创建好的全局原子。这个原子(一个16bit的值),必须被放置在lpClassName的低位字节中,lpClassName的高位字节置零。
如果该参数为null时,将会寻找任何与lpWindowName参数匹配的窗口。
lpWindowName
指向一个以NULL字符结尾的、用来指定窗口名(即窗口标题)的字符串。如果此参数为NULL,则匹配所有窗口名。
ShowWindow()函数原型:BOOLShowWindow(HWND hWnd, int nCmdShow);
参数编辑
hWnd:指窗口句柄。
nCmdShow:指定窗口如何显示。如果发送应用程序的程序提供了STARTUPINFO结构,则应用程序第一次调用ShowWindow时该参数被忽略。否则,在第一次调用ShowWindow函数时,该值应为在函数WinMain中nCmdShow参数。在随后的调用中,该参数可以为下列值之一:
SW_FORCEMINIMIZE:在WindowNT5.0中最小化窗口,即使拥有窗口的线程被挂起也会最小化。在从
其他线程最小化窗口时才使用这个参数。
SW_HIDE:隐藏窗口并激活其他窗口。
SW_MAXIMIZE:最大化指定的窗口。
SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一个顶层窗口。
SW_RESTORE:激活并显示窗口。如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置。在恢复最小化窗口时,应用程序应该指定这个标志。
SW_SHOW:在窗口原来的位置以原来的尺寸激活和显示窗口。
SW_SHOWDEFAULT:依据在STARTUPINFO结构中指定的SW_FLAG标志设定显示状态,STARTUPINFO 结构是由启动应用程序的程序传递给CreateProcess函数的。
SW_SHOWMAXIMIZED:激活窗口并将其最大化。
SW_SHOWMINIMIZED:激活窗口并将其最小化。
SW_SHOWMINNOACTIVE:窗口最小化,激活窗口仍然维持激活状态。
SW_SHOWNA:以窗口原来的状态显示窗口。激活窗口仍然维持激活状态。
SW_SHOWNOACTIVATE:以窗口最近一次的大小和状态显示窗口。激活窗口仍然维持激活状态。
SW_SHOWNORMAL:激活并显示一个窗口。如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小。应用程序在第一次显示窗口的时候应该指定此标志。
实现功能
1.新建基于对话框的应用程序
2.拖拽两按钮<隐藏桌面文件图标><显示桌面文件图标>关联函数实现相应功能
void CGkbc8Dlg::OnHide()
{
HWND desktop=::FindWindow("Progman",NULL);
// HWND desktop=::FindWindow(NULL,"Program Manager");//或使用此代码
if(desktop!=NULL)
{
::ShowWindow(desktop,SW_HIDE);
}
}
void CGkbc8Dlg::OnShow()
{
HWND desktop=::FindWindow("Progman",NULL);
if(desktop!=NULL)
{
::ShowWindow(desktop,SW_SHOW);
}
}
复制代码
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/23d316ad4cc47bd411c2b8f421813a22/0/0/w_19rszqbbp1.swf-albumId=5385171609-tvId=5385171609-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4