首页
社区
课程
招聘
[旧帖] [求助]求教:驱动创建快捷方式 0.00雪花
发表于: 2009-7-22 14:43 1540

[旧帖] [求助]求教:驱动创建快捷方式 0.00雪花

2009-7-22 14:43
1540
哪位哥们在内核创建过文件的快捷方式
给兄弟指点一下!
对着“The Windows Shortcut File Format”研究了半天也没弄好!
期待中.................................................................................

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 61
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
内核文件的快捷方式是不是就是符号链接?
2009-7-22 15:26
0
雪    币: 61
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
(*//   
  标题:创建快捷方式;获取系统文件或系统目录   
  说明:参考Kingron资料中“如何取得某些特殊文件夹路径”   
  设计:Zswang   
  日期:2002-01-25   
  支持:wjhu111@21cn.com   
  //*)   
   
  ///////Begin   Source   
  uses   
      ShlObj,   ActiveX,   ComObj;   
   
  function   GetSpecialFolderDir(mFolder:   Integer):   string;   
  {   返回获取系统文件或系统目录   }   
  (*   
          CSIDL_BITBUCKET                   *       回收站   
          CSIDL_CONTROLS                     *       控制面板   
          CSIDL_DESKTOP                       *       桌面   
          CSIDL_DESKTOPDIRECTORY             桌面目录               //如C:\WINDOWS\Desktop   
          CSIDL_DRIVES                         *       我的电脑   
          CSIDL_FONTS                                   字体                       //如C:\WINDOWS\FONTS   
          CSIDL_NETHOOD                               网上邻居目录       //如C:\WINDOWS\NetHood   
          CSIDL_NETWORK                       *       网上邻居   
          CSIDL_PERSONAL                             我的文档               //如C:\My   Documents   
          CSIDL_PRINTERS                     *       打印机   
          CSIDL_PROGRAMS                             程序组                   //如C:\WINDOWS\Start   Menu\Programs   
          CSIDL_RECENT                                 最近文档               //如C:\WINDOWS\Recent   
          CSIDL_SENDTO                                 发送到                   //如C:\WINDOWS\SentTo   
          CSIDL_STARTMENU                           开始菜单               //如C:\WINDOWS\Start   Menu   
          CSIDL_STARTUP                               启动                       //如C:\WINDOWS\启动   
          CSIDL_TEMPLATES                           模版                       //如C:\WINDOWS\ShellNew   
  *)   
  var   
      vItemIDList:   PItemIDList;   
      vBuffer:   array[0..MAX_PATH]   of   Char;   
  begin   
      SHGetSpecialFolderLocation(0,   mFolder,   vItemIDList);   
      SHGetPathFromIDList(vItemIDList,   vBuffer);   //转换成文件系统的路径   
      Result   :=   vBuffer;   
  end;   {   GetSpecialFolderDir   }   
   
  function   CreateShellLink(mPath:   string;   mWorkingDirectory:   string;   
      mFileName:   WideString):   Boolean;   {   返回创建快捷方式是否成功   }   
  var   
      vShellLink:   IShellLink;   
      vPersistFile:   IPersistFile;   
      vUnKnown:   IUnKnown;   
  begin   
      Result   :=   True;   
      try   
          vUnKnown   :=   CreateComObject(CLSID_ShellLink);   
          vShellLink   :=   vUnKnown   as   IShellLink;   
          vPersistFile   :=   vUnKnown   as   IPersistFile;   
          vShellLink.SetPath(PChar(mPath));   
          vShellLink.SetWorkingDirectory(PChar(mWorkingDirectory));   
          vPersistFile.Save(PWChar(mFileName),   False);   
      except   
          Result   :=   False;   
      end;   
  end;   {   CreateShellLink   }   
  ///////End   Source   
   
  ///////Begin   Demo   
  procedure   TForm1.Button1Click(Sender:   TObject);   
  begin   
      CreateShellLink(ParamStr(0),   ExtractFilePath(ParamStr(0)),   
          GetSpecialFolderDir(CSIDL_DESKTOPDIRECTORY)   +   '\'   +   
          ChangeFileExt(ExtractFileName(ParamStr(0)),   '.lnk'));   
  end;   
  ///////End   Demo
2009-7-22 15:41
0
雪    币: 81
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
可能是没说清吧! 是在内核中为一个文件创建快捷方式!
2009-7-22 16:03
0
雪    币: 4560
活跃值: (1002)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
有内核态调用R3函数的例子了,楼主搜搜看
2009-7-22 16:51
0
雪    币: 81
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这都能实现呀,太牛了吧!
2009-7-22 18:06
0
雪    币: 234
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
3楼的我没看,=明天吧
2009-7-22 20:43
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
shortcut file format
只是提供一个lnk文件格式而已

可以直接调用fwrite写文件实现,
内核级的,俺也不知道如何做,没弄个
2010-6-18 17:00
0
游客
登录 | 注册 方可回帖
返回
//