如标题

解决方案 »

  1.   

    提供例程,需要将你的要求和email发个短消息给我!
      

  2.   

    以下是一些资料,供参考:
    ------------------------------------------
    编程思想:
    ------------------------------------------
    Windows外壳(Shell)的快捷方式是以OLE技术的组件对象模型COM(Component Object Modal)为基础而设计的。利用COM模型,一个应用程序可以调用另一应用程序的某些功能。这方面的技术细节请参阅有关文献。在了解了上述基本原理后,创建Windows的快捷方式就比较容易了。首先利用OLE通过调用CoCreateInstance()函数建立一个IID_IShellLink实例,并同时得到其接口指针。利用这个接口指针可以对其各项属性进行设置。为了使这些信息以快捷方式的数据文件(*.lnk)格式保存起来,还需要从IID_IShellLink对象取得其IID_IPersistFile接口指针,以便于调用其成员函数Save()保存前面设置的信息。至于如何删除快捷方式以及创建和删除文件夹,则只需要简单地调用文件操作函数SHFileOperation()就可以了。另外应该注意,在完成上述操作之后,都要调用SHChangeNotify()函数通知Windows外壳有关变化以使之及时更新其显示状态。//创建快捷方式BOOL CreateLink ( LPSTR szPath,//快捷方式的目标应用程序名LPSTR szLink)//快捷方式的数据文件名(*.lnk){HRESULT hres ;IShellLink * psl ;IPersistFile* ppf ;WORD wsz[ MAX_PATH] ;//创建一个IShellLink实例hres = CoCreateInstance( CLSID_ShellLink, NULL,CLSCTX_INPROC_SERVER, IID_IShellLink,(void **)&psl) ;if( FAILED( hres))return FALSE ;//设置目标应用程序psl -> SetPath( szPath) ;//设置快捷键(此处设为Shift+Ctrl+'R')psl -> SetHotkey( MAKEWORD( 'R',HOTKEYF_SHIFT ¦HOTKEYF_CONTROL)) ;//从IShellLink获取其IPersistFile接口//用于保存快捷方式的数据文件 (*.lnk)hres = psl -> QueryInterface( IID_IPersistFile,(void**)&ppf) ;if( FAILED( hres))return FALSE ;// 确保数据文件名为ANSI格式MultiByteToWideChar( CP_ACP, 0, szLink, -1, wsz, MAX_PATH) ;//调用IPersistFile::Save//保存快捷方式的数据文件 (*.lnk)hres = ppf -> Save( wsz, STGM_READWRITE) ;//释放IPersistFile和IShellLink接口ppf -> Release( ) ;psl -> Release( ) ;return TRUE;}
    *************
    以前帖子中的内容,CV过来了!