シェル拡張は、ターゲットオーディエンスを取得するにはショートカットとショートカットを作成します

使用する
     Windowsは、ComObjは、ShlObjは、ActiveXは、

{ 
      機能:指定したファイルを作成すると、ショートカット
      TARGETFILE:ショートカットのポイントをファイルまたはディレクトリに
      :CreateAt保存するためのショートカットパスを作成する
      関数が成功した場合はtrueを返します、Falseが失敗を表す
} 
関数(CreateShortCutをTARGETFILE、CreateAt:文字列):ブール;
 CONST 
     IID_IPersistFile:TGUID = ' {} 0000010B-0000-0000-C000-000000000046 ' ;
 VARの
     intfLink:IShellLinkインター; 
     IntfPersist:IPersistFile; 
始める
     intfLink: = CreateCOMObjectの(CLSID_ShellLink)AS IShellLinkインター; 
     結果: =(IntfLink <> ゼロそしてSUCCEEDED(IntfLink.QueryInterface(IID_IPersistFile、IntfPersist))
       SUCCEEDED(intfLink.SetPath(PAnsiChar(TARGETFILE)))
     SUCCEEDED(IntfPersist.Save(PWideChar型(WideStringに(CreateAt))、TRUE)); 
エンド; 


{ 
      機能:指定されたターゲットショートカットファイルを返し
      LINKFILEは:ファイルのフルパスをショートカット
      機能が空の文字列を返すことは失敗しそうでなければ成功を示し
} 

関数 GetTargetOfShorCut(:LINKFILE 文字列):文字列;
 CONST 
     IID_IPersistFile:TGUID = ' {0000010B-0000-0000-C000 } -000 000 000 046 ' ;
 VARの
     intfLink:IShellLinkインター;  
     IntfPersist:IPersistFile。
     PFD:_WIN32_FIND_DATA。 
     bSuccess:ブール; 
開始
     検索結果を: = '' ; 
     IntfLink: = CreateCOMObjectの(CLSID_ShellLink)AS IShellLinkインター; 
     のSetString(結果、ゼロ、MAX_PATH);
      { 
       2番目のパラメータは、負荷法STGM_WRITE又はSTGM_READWRITEを送信することができる、表しますショートカット情報にアクセス
         STGM_READ:読み取り専用
         STGM_WRITE:書き込み専用
         STGM_READWRITE:読み書き
       もSLGP_UNCPRIORITY又はSLGP_SHORTPATHを渡すことができる第三のパラメータのGETPATH方法は、ターゲットパス形式のリターン表す
         UNCネットワークパス:SLGP_UNCPRIORIT 
         SLGP_SHORTPATH:DOS 8.3形式のパスを
         SLGP_RAWPATH:長いパス
     } 
     bSuccess: =(IntfLink <>ゼロ 
GETPATH:対象のファイルまたはディレクトリのショートカットを取得フルパス及び(IntfLink.QueryInterface(IID_IPersistFile、IntfPersist))が成功
        SUCCEEDED(IntfPersist.Load(PWideChar型(WideStringに(LINKFILE))、STGM_READ))
      SUCCEEDED(intfLink.GetPath(PAnsiChar(結果)、MAX_PATH、PFD、SLGP_RAWPATH))。
     IF  ていない bSuccess 次いで =結果「」;
 エンド; 

 

SETPATH GETPATHおよび方法を除いて、他の方法は、IShellLinkインターインターフェースまたは他の情報読み取りのショートカットを提供してもよい。
getArguments:パラメータ情報取得
記述情報:のgetDescription 
GetHotkeyを:取得ショートカット
GetIconLocation:アイコン取得   
GetIDListを:(Windowsは独自のIdentifilerリスト項目を持っているようなファイル、ディレクトリ、およびプリンタなど、各オブジェクトをシェル)ショートカットのターゲット対象項目識別子のリストを取得
GetShowCmd:このような従来のように取得する動作モードのショートカット、ウィンドウが最大化されています
GetWorkingDirectory:作業ディレクトリの取得
対象オブジェクトが削除または移動、名前を変更し、されている場合でも、ターゲット・オブジェクトを取得しようとしている一定のルールに従って検索:決意を
し、ここでは、対応する方法の情報である
setArguments 
のsetDescription 
SetHotkey 
SetIconLocation 
SetIDList 
SETPATH 
SetRelativePat 
SetShowCmd 
SetWorkingDirectoryを

 

おすすめ

転載: www.cnblogs.com/blogpro/p/11453890.html