C语言基本语法详解:文件夹变形大法

C语言基本语法详解:文件夹变形大法,第1张

C语言基本语法详解:文件夹变形大法,第2张

各位观众,今天我们讲的是文件夹的变形大法。
  首先,我们看看这两个图,如图1所示。

  一秒前:

  


  一秒后:

  
  
  怎么样?文件夹变成回收站了!不信?双击进入试试,里面真的是回收站哦。神奇吧!看过本文,你不但能变文件夹为回收站,还可以将它变成各种稀奇古怪的东东!

  首先要说明一下原理:在Windows资源管理器中,Desktop.ini和Folder.htt中定义了文件夹的属性,在Windows 9X下,我们可以在文件夹中建一个Desktop.ini,并在其中输入如下代码:
  [.ShellClassInfo]
  Clisd={645FF040-5081-101B-9F08-00AA002F954E}
  这样文件夹就变成了回收站,但是在Windows XP/2003中就失效了。没关系,另有办法:我们对着文件夹按下F2,改成“×××.{645FF040-5081-101B-9F08-00AA002F954E}”(不要引号),也变形了吧?!这其实也改变了文件夹的属性,效果是一样的。通过资料知道,这其实是运用了微软的Active Desktop技术。下面我们看看如何利用编程实现它。

  系统环境:Windows Server 2003 Enterprice Eidtion
  开发工具:VC++ 6.0

  本程序是用SDK写的,这篇文章也是给像我这样的菜菜看的,现在很多学编程的菜菜们都爱用VB之类的RAD工具或是一头钻进MFC,以至于编了N年还不知道什么是Windows消息循环,把十分平常的API函数调用(如SendMessage,FindWindows之类)奉之为“技巧”。我没有鄙视的意思,也不是说号召大家以后都这样编程,毕竟用SDK开发太慢了,我只是觉得要想在Windows编程得到较大进步,学习Win32下的SDK编程是不应该省略的,若只会Click处理事件,而不知道其中IDE到底干了什么,那就会阻碍你的进步了!

  下面简略说明一下程序流程:
  WinMain函数,程序的入口:
  int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE ,hPrevInstance,
  LPSTR lpCmdLine, int nCmdShow)
  {
  if (-1 == DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, Main_Proc))
  {
  MessageBox(NULL, "加载对话框出错!" , "", MB_OK);
  // MessageBox函数,弹出一个预定义消息框,第一个参数是窗体句柄,第2个参数是消息正文,第三个参数是标题,最后是消息框类型,这里是指有一个确定按钮的消息框.
  }
  return 0;
  }

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C语言基本语法详解:文件夹变形大法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情