"HWND ::ShowWindow(hwnd,SW-HIDE);"是什么意思

"HWND,::ShowWindow(hwnd,SW_HIDE);::ShowWindow(hwnd,SW_SHOW);"这是一段代码吗?是什么意思,怎样用的?... "HWND,
::ShowWindow(hwnd,SW_HIDE);
::ShowWindow(hwnd,SW_SHOW);"
这是一段代码吗?是什么意思,怎样用的?
展开
 我来答
百度网友7ecd517
推荐于2016-12-02 · TA获得超过398个赞
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:298万
展开全部
隐藏和显示句柄为hwnd的窗口
首先你的要知道窗口的句柄,可以用FindWindow这个函数,原型如下:
int FindWindow(String^ lpClassName, String^ lpWindowName);
使用方法为:
int hwnd = FindWindow(nullptr, L"qq2010");
注意,这是C++/CLI流言,应该也不难理解,和C++差不多的,lpClassName用处不大,一般是填NULL,C++/CLI中真nullptr,lpWindowsName就是填窗口的名称。如qq2010,加一个L是表示宽字符。如果没有找到窗口,将返回0。
然后就用
bool ShowWindow(int hWnd, int nCmdShow);
来显示或隐藏窗口,该函数传一个句柄hWnd和使命nCmdShow过去,句柄就是刚刚用到的,hwnd,命令其实就是一个整型变量,你在C语言中的WinUser.h头文件中可以找到(以SW_开头的),如SW_HIDE隐藏,SW_SHOW显示。
顺便给你看一下我用C++/CLI隐藏自己控制台的代码,应该不难:

using namespace System;
using namespace System::Runtime::InteropServices;
[DllImport("user32.dll")]
int FindWindow(String^ lpClassName, String^ lpWindowName);
[DllImport("user32.dll")]
bool ShowWindow(int hWnd, int nCmdShow);

[STAThreadAttribute]
int main( )
{

Console::Title = 我的窗口";
int mywindow = FindWindow(nullptr, Console::Title);
ShowWindow(mywindow, 0);
Console::ReadKey();
return 0;
}

其中调用API用的是P/Invoke,用标准的C++更简单……直接接用头文件即可,不用说了吧?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式