无何让我的程序不接受win+d键和快速启动里的显示桌面 100分
无何让我的程序不接受win+d键和快速启动里的“显示桌面” 100分
就是当用户按下了win+d键和快速启动里的“显示桌面”后我的程序不被最小化
而其他的程序最小化
问题点数:100、回复次数:9Top
1 楼songhtao(三十年孤独)回复于 2005-02-02 14:00:56 得分 20
捕获WM_SYSCOMMAND 消息判断wParam为SC_MINIMIZE (or SC_ICON)就忽略不处理。Top
2 楼constantine(飘遥的安吉儿)回复于 2005-02-02 15:08:15 得分 0
路过的Top
3 楼JedyWoody(学,然后知不足)回复于 2005-02-02 19:08:44 得分 0
我其实不会,所以学习一下Top
4 楼hely_cn(hely)回复于 2005-02-02 19:20:09 得分 0
我把所有的WM_SYSCOMMAND都丢了,都不行啊
上面的方法都不可行啊,Top
5 楼unsigned(僵哥(发站内消息,请附上链接或问题说明,否则不予回复))回复于 2005-02-02 20:11:46 得分 0
显示桌面,其实并没有把原有的应用程序最小化,事实上应该是显示了一个隐含的桌面环境。Top
6 楼yjy1001(蓝鲸--优秀得郁闷的鱼)回复于 2005-02-02 21:30:42 得分 80
设置主窗体的 FormStyle = fsStayOnTop;//最上层显示。
然后在 WinMain 函数中加入如下两句话, 该函数在 project.cpp中
long ExtendedStyle= GetWindowLong (Application->Handle, GWL_EXSTYLE);
SetWindowLong(Application->Handle, GWL_EXSTYLE, ExtendedStyle | 128);
//实现不在任务栏上显示, 则此时你的程序不受win + D , win + M 的影响。
WinMain函数 如下:
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)//windows 程序主函数入口
{
try
{
Application->Initialize();
//下面2句话是自己加的。目的是不在任务栏上显示
long ExtendedStyle= GetWindowLong (Application->Handle, GWL_EXSTYLE);
SetWindowLong(Application->Handle, GWL_EXSTYLE, ExtendedStyle | 128);
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
return 0;
}
实现了吧, 给分。Top
7 楼cczlp(不惑)回复于 2005-02-03 12:56:02 得分 0
如果不设置主窗体的 FormStyle = fsStayOnTop,有办法吗?Top
8 楼yjy1001(蓝鲸--优秀得郁闷的鱼)回复于 2005-02-03 15:57:31 得分 0
如果不想设置 FormStyle = fsStayOnTop
则采用: songhtao(三十年孤独) 所提的方法, 也很容易实现。Top
9 楼dgyanyong(幸运飞龙)回复于 2005-02-04 13:09:33 得分 0
upTop




