Desktop+in+Windows

在玩Ubuntu的时候,对Compiz的桌面非常的着迷。总喜欢在别人面前炫耀自己的配置。多么多么的炫。

就在前天给Ubuntu升级的时候,不小心把系统给搞挂掉了。跟以前一样,心一狠,就全盘格式化,所有资料也就没了,还有美丽的桌面。

然后就又装回了windows。现在对ubuntu的桌面效果依然淡化,所以以后就在虚拟机里装一个server就得了。

从09年10月开始就几乎没怎么玩过Linux了。因为工作是搞windows的。天空好像一下子变窄了。

api api

原来windows也这么好玩。

下面就跟我一起记录一下windows的学习路程吧。

开篇第一篇就说windows中的Desktop。想好linux下的比一比。

1    给自己创建一个Desktop

  

      在windows中可以用CreateDesktop来创建一个Desktop、在windows中Desktop是隶属于Windows Station的。

      所以你必须给你的Desktop指定一个Station。最方便的做法是在当前的Station中创建一个Desktop.

    

    先看看MSDN上的说明吧 http://msdn.microsoft.com/en-us/library/ms682124(VS.85).aspx

   

   恩,我就不多说了。在windows下编程一定要装一个msdn的。

2   在新创建的Desktop中创建一个Explorer。

     现在已经有了一个新的Desktop,你切换过去的时候会看到她是蓝色的什么都没有。所以我们要在这个桌面那啥启动一个explorer

     这里用到CreateProcess。相信大家都熟悉这个api。把他贴出来,也就不多说了。用他启动一个explorer

 

这时候我们已经创建了一个Desktop并且在她那启动了一个Explorer。可是现在我们还不知道她具体长啥样子。为啥?我们还没有能够切换到我们新创建的Desktop中去。现在哪里还是一片世外桃源。

3   SwitchDesktop

     函数原型如下

    

    好了,我们知道,只要我们有一个桌面的句柄的话,我们就能调用这个api来非常方便的切换桌面了。

   那么这个桌面的句柄从哪来呢?  相信你已经看到CreateDesktop返回的就是那个桌面的句柄。

   这里还有一个api  OpenDesktop可以用来打开桌面并且返回桌面句柄。

   函数原型如下

  

  

  现在我们可以创建一个桌面,并且能够打开并且切换到新的桌面了。在这里我要提醒你的是,一定要把你的切换桌面的程序写的好一点,不然有可能你会遇到非常麻烦的事情,比如说你切换到了新的桌面,切不回去了。

  我遇到过一种非常傻得事,我在调试程序的时候在切换桌面的方法中下了一个断点。我不用再说 你也明白。。。。

4   CloseDesktop

   桌面句柄是需要close掉的,不然这些一直占用的句柄会带来很多麻烦

  

5   EnumDesktops

6  OpenInputDesktop

   打开活动桌面,返回活动桌面的句柄

  

 

7  SetThreadDesktop

   把当前线程塞到指定桌面去

  

 

另外还有几个相关的api 我就不一一介绍了。那样会显得很罗嗦。

我正在装VS2008。等装好之后再贴一个Sample过来。

Sample CreateDesktop

Sample SwitchDesktop

Sample EnumDesktops

 

 Sample SwitchDesktopEx

 

怎么关闭它呢?

 

桌面是个逻辑概念。只要把与桌面关联的进程全部砍掉,桌面也就消失了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值