社区
Windows SDK/API
帖子详情
分不够再加!如何创建系统级模式窗体
VirtualDesktop
2006-06-23 03:20:42
就是要求这个窗体象点击 开始-关机 的关机对话框一样,阻止用户对windows其他部分进行操作
...全文
447
7
打赏
收藏
分不够再加!如何创建系统级模式窗体
就是要求这个窗体象点击 开始-关机 的关机对话框一样,阻止用户对windows其他部分进行操作
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
VirtualDesktop
2006-06-25
打赏
举报
回复
晕~我的意思 是那个Tab的问题可以忽略~
cczlp
2006-06-23
打赏
举报
回复
本是好心提醒的, 既然lz评为"吹毛求疵", 那只好闪了
「已注销」
2006-06-23
打赏
举报
回复
关注...
VirtualDesktop
2006-06-23
打赏
举报
回复
我要的是不能点击系统其他部分,Showmodel可以我就不来问了
Alt+Tab以后关机对话框就回取消的,你有点吹毛求疵cczlp
daydayup234
2006-06-23
打赏
举报
回复
不会是简单的showmodel吧
cczlp
2006-06-23
打赏
举报
回复
谁说开始-关机 的关机对话框禁止用户的其它操作了?
用ALT+TAB试试.
海嵌
2006-06-23
打赏
举报
回复
你可以参考
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
HDESK DesktopHandle;
bool Result;
SECURITY_DESCRIPTOR sd;
SECURITY_ATTRIBUTES sa;
LPSECURITY_ATTRIBUTES lpsa = NULL;
OSVERSIONINFO osv;
osv.dwOSVersionInfoSize = sizeof(osv);
GetVersionEx(&osv);
if(osv.dwPlatformId == VER_PLATFORM_WIN32_NT) //NT系统需要指定lpsa参数
{
InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION);
SetSecurityDescriptorDacl(&sd, true, NULL, false);
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle = true;
sa.lpSecurityDescriptor = &sd;
lpsa = &sa;
}
STARTUPINFO si;
memset(&si, 0, sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESHOWWINDOW |STARTF_USESTDHANDLES;
si.wShowWindow = SW_SHOW;
si.lpDesktop = "MyDesktop";
PROCESS_INFORMATION pi; //尝试打开特定的桌面
DesktopHandle = OpenDesktop("MyDesktop",DF_ALLOWOTHERACCOUNTHOOK,
true,DESKTOP_CREATEMENU | DESKTOP_CREATEWINDOW |
DESKTOP_ENUMERATE | DESKTOP_HOOKCONTROL |
DESKTOP_JOURNALPLAYBACK |
DESKTOP_JOURNALRECORD | DESKTOP_READOBJECTS |
DESKTOP_SWITCHDESKTOP | DESKTOP_WRITEOBJECTS);
if(!DesktopHandle) //打开失败则创建该桌面
{
DesktopHandle = CreateDesktop("MyDesktop",NULL,NULL,
DF_ALLOWOTHERACCOUNTHOOK,
DESKTOP_CREATEMENU | DESKTOP_CREATEWINDOW |
DESKTOP_ENUMERATE | DESKTOP_HOOKCONTROL |
DESKTOP_JOURNALPLAYBACK |
DESKTOP_JOURNALRECORD | DESKTOP_READOBJECTS |
DESKTOP_SWITCHDESKTOP | DESKTOP_WRITEOBJECTS,
lpsa);
if(!DesktopHandle)
{
ShowMessage("DeskTop Create Error!");
}
Result = false; //特定桌面不存在,当前进程肯定没有运行在特定桌面
}
else //特定的桌面存在,则判断当前的Application是否运行于该桌面
{
STARTUPINFO SI;
GetStartupInfo(&SI); //获取启动信息
if(AnsiString(SI.lpDesktop).Pos("MyDesktop")) //比较Desktop参数
{
Result = true; //程序运行在正确(特定的'MyDeskTop')的桌面
}
else
{
Result = false; //程序没有运行在特定的桌面
}
}
if(Result == false && DesktopHandle)//特定的桌面存在,并且当前进程不在特定的桌面
{//则创建当前进程的一个新的运行副本,同时指定运行在特定的桌面
if( CreateProcess(NULL, Application->ExeName.c_str(),
lpsa, lpsa, true, 0, 0, 0, &si, &pi))
{
SwitchDesktop(DesktopHandle); //切换到特定的桌面,否则新的程序进程将看不到
}
else
{
CloseDesktop(DesktopHandle);
ShowMessage("Process Creat Error!");
}
}
CloseDesktop(DesktopHandle);
}
[转载]PhotoShop性能优化
现在随着Photoshop版本越来越高功能也越来越强大,而往往强大的功能需要电脑有好的配置运行,比如HDR、图像合成或者3D和视频等类似的功能,还有处理比较大尺寸的图像时,如果电脑配置
不够
强往往非常卡,这时我们就要好好设置Photoshop的性能非常重要,今天转来的这篇文章是从国外翻来的,主要是介绍通过10个步骤来优化Photoshop软件的性能,下面就来一起边看边设置下吧。 1. 内存使用情况...
photoshop
ps性能历史调优: ctrl + alt + k 打开首选项 ==》性能 ==》调整内存 ==》调大存储历史记录的条数 ==》 暂存盘 ==》选择暂存的
分
区 ==》单位与标尺 ==》标尺、文字的
分
辨率;打印
分
辨率、屏幕
分
辨率。 设置完之后,重启ps生效。 在新建ps文档时,可以选择
分
辨率。如果是web或手机界面使用的话默认72就可以...
Photoshop制作雪碧图技巧
雪碧图,就是将网页制作中使用的多个小图片合并成一个图片,使用css技术将这张合成的图片应用在网页不同的地方,雪碧图可以减少网页加载时的http请求数,优化网页性能。 步骤: 1、使用Photoshop新建一张背景透明的图片 2、将小图片复制到此图片中,排列好每个图像的位置,图片幅面
不够
可以用画布大小调整大小 3、按照所有小图片的范围裁剪图片,存为透明背景的png图片 转载于:https:/...
49本photoshop电子书教程
为什么80%的码农都做不了架构师?>>> ...
《转载》如何自学图像编程
注:现在从事与图像有关联的工作,经常学习图像相关知识,于是乎开始自学图像方面的编程,正好看到这篇文章,于是转载下来,用来以后学习用。感谢原作者的总结。 现在,图像类信息越来越多了,对图像的编程需求也越来越多。图像类项目的特点是性价比高,单行代码的价格一般是普通的程序的10倍,每行代码能够卖几块钱。很多人把目光放在这个上面。刚才又有网友咨询,做图像要看些什么书?结合我的自学经验,写一篇博客谈...
Windows SDK/API
1,222
社区成员
8,135
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章