一下是一篇文章的内容。可惜不是delphi。希望能给写出demo。谢谢、!delphi代码、。
==============================================================================
在桌面创建IE风格的快捷方式This article was contributed by Sundar & Naresh 我们如果要在桌面上建立一个快捷方式,我们通常是用IShellLink接口来生成一
个.lnk文件。用这种方式创建,我们在桌面上得到的是一个左下方还含有小箭头
的图标,右击它,你会看到正常的弹出菜单(含有复制、粘贴等)。但是你看桌面
上IE的快捷方式,你会看到它是一个正常的图标(没有小箭头),而且弹出菜单
也不同。下面我们来建立一个这种风格的快捷方式。
执行这段代码,你会在桌面上获得一个名叫"Netlinker"的图标,右击它,
你会看到一个定制的菜单(没有剪切、复制、粘贴、重命名等菜单祥)。
你甚至不能把它从桌面上删除,如果你选“属性”,它会打开IE的属性对话框
选一个图标文件 
CString shtct_ico=_T("C:\32x32.ico");显示IE属性对话框. 
CString shtct_prop=_T("rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl,,0");快捷方式的名字
CString shtct_name=_T("Netlinker");找到IE的路径并保存它. 
CRegKey m_Kiepath;CString ie_path;DWORD dwval;m_Kiepath.Open(HKEY_LOCAL_MACHINE,
                  "SOFTWARE\Microsoft\Windows\"
                  "CurrentVersion\App Paths\IEXPLORE.EXE");m_Kiepath.QueryValue(ie_path.GetBuffer(1000),
                        NULL,
                        &dwval);m_Kiepath.Close();CString shtct_to=ie_path;用guidgen.exe创建一个GUID并复制粘贴到这里。这是用来表现我们的快捷方式和它
的菜单项的。我用guidgen.ext创建的GUID是6270AEE4-AA41-11d4-A25D-008048B63F94。 
下面的程序在HKCRCLSID创建这个 GUID 键,并且将快捷方式的值设为它。CRegKey m_kdsktp;m_kdsktp.Create(HKEY_CLASSES_ROOT,
                   "CLSID\{6270AEE4-AA41-11d4-A25D-"
                   "008048B63F94}");m_kdsktp.SetValue(shtct_name);m_kdsktp.Close();在这个GUID下创建DefaultIcon 键, 它是用来表现快捷方式的图标的
并把他的值设为相应的图标文件的路径. 
m_kdsktp.Create(HKEY_CLASSES_ROOT,
                   "CLSID\{6270AEE4-AA41-11d4-A25D"
                   "-008048B63F94}\DefaultIcon");m_kdsktp.SetValue(shtct_ico);m_kdsktp.Close();设置右击菜单的菜单项.设置打开菜单项 m_kdsktp.Create(HKEY_CLASSES_ROOT,
                   "CLSID\{6270AEE4-AA41-11d4-A25D-"
                   "008048B63F94}\Shell\Open\Command");m_kdsktp.SetValue(shtct_to);m_kdsktp.Close();设置属性菜单项. 
m_kdsktp.Create(HKEY_CLASSES_ROOT,
                   "CLSID\{6270AEE4-AA41-11d4-A25D-"
                   "008048B63F94}\Shell\Properties\Command");m_kdsktp.SetValue(shtct_prop);m_kdsktp.Close();把原来的缺省菜单项(如复制粘贴等)去掉.BYTE *b;HANDLE heap;char a[20];m_kdsktp.Create(HKEY_CLASSES_ROOT,
                   "CLSID\{6270AEE4-AA41-11d4-A25D-"
                   "008048B63F94}\ShellFolder");strcpy(a,"00.00.00.00");heap=HeapCreate(0,0,0);b=(BYTE*)HeapAlloc(heap,0,30);sscanf(a,
          "%x.%x.%x.%x",
          &b[0],
          &b[1],
          &b[2],
          &b[3]);RegSetValueEx(m_kdsktp.m_hKey,
                 "Attributes",
                 0,
                 REG_BINARY,
                 b,
                 4);HeapFree(heap, 0, b);HeapDestroy(heap);m_kdsktp.Close();接下来我们添加一个引用到
HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerDesktopNamespace
这样它将只显示在桌面上。m_kdsktp.Create(HKEY_LOCAL_MACHINE,
                   "SOFTWARE\Microsoft\Windows\"
                   "CurrentVersion\Explorer\Desktop\"
                   "NameSpace\{6270AEE4-AA41-11d4-A25D-"
                   "008048B63F94}");m_kdsktp.SetValue("Netlink");m_kdsktp.Close();我们对Shell作了改动,我们要通知系统,这个改动才会马上表现出来.SHChangeNotify(SHCNE_ASSOCCHANGED,SHCNF_FLUSHNOWAIT, 0, 0);
===========================================================================================