我乃一只小小小菜鸟,有一大堆问题解决不了,请各位大虾帮帮我:先‘三克油’了。问题列表如下:(1)在usees 下有这么一段:
  ($IFDEF Win32}windows,shellAPI,{$ELSE}wintypes,winprocs,{$ENDIF}
  type
   .
   .
  END;
{$IFNDEF Win32}
function shelabout(wnd:hwnd;app,stuff:pchar;icon:hicon):integer;far;external'shell';
{$ENDIF}
我呢不知道为什么要加上大括号里面的东东,喔,这是个自定义About项的程序。(2)我在用
Systemparametersinfo(SPI_SETDESKWallpaper,0,nil,SPIF_SendChange)设置桌面壁纸时,只能在开机后第一次使用后,再右键桌面‘刷新’才会更改壁纸,以后再用该方法改变壁纸后,只能在桌面属性里看到壁纸文件更改了,但桌面并无变化,无论怎样刷新都没有用。请问这是为什么?(3)如何在程序运行时屏蔽 ‘win’键,不让它弹出开始菜单。暂时就这么多了,谢谢!!

解决方案 »

  1.   

    (3)如何在程序运行时屏蔽 ‘win’键,不让它弹出开始菜单。tempint:integer;
    begin
    SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,@tempint,0);
    end;
      

  2.   

    ($IFDEF Win32}windows,shellAPI,{$ELSE}wintypes,winprocs,{$ENDIF}
      type
       .
       .
      END;
    //如果定义了WIN32那么就编译的时候包含WINDOWS,SHELLAPIL;如果没有
    {$IFNDEF Win32}
    function shelabout(wnd:hwnd;app,stuff:pchar;icon:hicon):integer;far;external'shell';
    {$ENDIF}
      

  3.   

    大括号里的是编译指令,在这里用于兼容本同的 Delphi 版本和 Windows 平台。