<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="http://syndication.webwiz.co.uk/rss_namespace/">
 <channel>
  <title>Debenu Quick PDF Library - PDF SDK Community Forum : Integrating as windows explorer utility</title>
  <link>http://www.quickpdf.org/forum/</link>
  <description><![CDATA[This is an XML content feed of; Debenu Quick PDF Library - PDF SDK Community Forum : I need help - I can help : Integrating as windows explorer utility]]></description>
  <copyright>Copyright (c) 2006-2013 Web Wiz Forums - All Rights Reserved.</copyright>
  <pubDate>Thu, 21 May 2026 17:21:12 +0000</pubDate>
  <lastBuildDate>Thu, 22 Nov 2012 06:29:15 +0000</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 11.01</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>www.quickpdf.org/forum/RSS_post_feed.asp?TID=2456</WebWizForums:feedURL>
  <image>
   <title><![CDATA[Debenu Quick PDF Library - PDF SDK Community Forum]]></title>
   <url>http://www.quickpdf.org/forum/forum_images/QPDF_Forum_Title.png</url>
   <link>http://www.quickpdf.org/forum/</link>
  </image>
  <item>
   <title><![CDATA[Integrating as windows explorer utility : Thanks. I will give it a try.KK...]]></title>
   <link>http://www.quickpdf.org/forum/integrating-as-windows-explorer-utility_topic2456_post10313.html#10313</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.quickpdf.org/forum/member_profile.asp?PF=1239">kk aw</a><br /><strong>Subject:</strong> 2456<br /><strong>Posted:</strong> 22 Nov 12 at 6:29AM<br /><br />Thanks. &nbsp;I will give it a try.<div><br></div><div>KK Aw</div>]]>
   </description>
   <pubDate>Thu, 22 Nov 2012 06:29:15 +0000</pubDate>
   <guid isPermaLink="true">http://www.quickpdf.org/forum/integrating-as-windows-explorer-utility_topic2456_post10313.html#10313</guid>
  </item> 
  <item>
   <title><![CDATA[Integrating as windows explorer utility :  Hi!I can answer regarding Delphi/Pascal.BTW:...]]></title>
   <link>http://www.quickpdf.org/forum/integrating-as-windows-explorer-utility_topic2456_post10304.html#10304</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.quickpdf.org/forum/member_profile.asp?PF=111">Ingo</a><br /><strong>Subject:</strong> 2456<br /><strong>Posted:</strong> 17 Nov 12 at 1:28PM<br /><br />Hi!<br><br><br>I can answer regarding Delphi/Pascal.<br>BTW: It's always better using send-to than directly the explorer-context.<br>First i give you the needed functions and at the end you'll find code how to use it.<br><br>Don't forget ShlObj and Registry in the usage section.<br><br><br>function RegisterFileAssociation( FileAssocInfo : TFileAssocInfo):boolean;<br><br>&nbsp; {-----------------------------------------------------}<br>&nbsp; function IsEmptyString(const S: string): boolean;<br>&nbsp; begin<br>&nbsp; Result := ( S = '' );<br>&nbsp; end;<br>&nbsp; {-----------------------------------------------------}<br>&nbsp; function AssebleOpenCmd(OpenCmd, AppPath:string):string;<br>&nbsp; begin<br>&nbsp;&nbsp;&nbsp; OpenCmd := Trim(OpenCmd);<br>&nbsp;&nbsp;&nbsp; if not IsEmptyString(OpenCmd) then OpenCmd := OpenCmd + ' ';<br>&nbsp;&nbsp;&nbsp; Result := AppPath + ' ' + OpenCmd + '%1';<br>&nbsp; end;<br>&nbsp; {-----------------------------------------------------}<br><br>var<br>S : string;<br>begin<br><br>&nbsp; Result := False;<br><br>&nbsp; with&nbsp; FileAssocInfo do<br>&nbsp; begin<br>&nbsp;&nbsp;&nbsp; if IsEmptyString(AppPath) then Exit;<br>&nbsp;&nbsp;&nbsp; if IsEmptyString(Extension) then Exit;<br>&nbsp;&nbsp;&nbsp; if Length(Extension) &gt; 3 then raise Exception.Create('Too long extension');<br>&nbsp;&nbsp;&nbsp; if IsEmptyString(Key) then Exit;<br>&nbsp;&nbsp;&nbsp; if IsEmptyString(Description) then Exit;<br>&nbsp;&nbsp;&nbsp; if AddLocalMenu and IsEmptyString(MenuString) then Exit;<br><br>&nbsp;&nbsp;&nbsp; Extension := '.' + Extension;<br><br><br>&nbsp;&nbsp;&nbsp; { write... }<br>&nbsp;&nbsp;&nbsp; with TRegIniFile.Create('') do<br>&nbsp;&nbsp;&nbsp; try<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RootKey := HKEY_CLASSES_ROOT;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { write the extension - the Key points to description registy key}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WriteString(Extension, '', Key);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { write the description key }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WriteString(Key, '', Description);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { write the default icon if defined }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if not IsEmptyString(Icon) then WriteString(Key + '\DefaultIcon','',Icon);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { write the OpenCmd - association }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OpenCmd := AssebleOpenCmd(OpenCmd, AppPath);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WriteString(Key + '\shell\open\command', '', OpenCmd );<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { add the Explorer local menu item }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if AddLocalMenu<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S := Key + '\shell\' + 'Local_Menu';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WriteString(S, '', MenuString);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S := Key + '\shell\' + 'Local_Menu' + '\command';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WriteString(S, '', OpenCmd);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;<br><br>&nbsp;&nbsp;&nbsp; finally<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CloseKey;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Free;<br>&nbsp;&nbsp;&nbsp; end;<br><br>&nbsp; end;<br><br>&nbsp; Result := True;<br><br>end;<br><br>procedure DeleteFileAssociation(Extension, Key:string);<br>begin<br>&nbsp; with TRegIniFile.Create('') do<br>&nbsp; try<br>&nbsp;&nbsp;&nbsp; RootKey := HKEY_CLASSES_ROOT;<br>&nbsp;&nbsp;&nbsp; EraseSection('.' + Extension);<br>&nbsp;&nbsp;&nbsp; EraseSection(Key);<br>&nbsp; finally<br>&nbsp;&nbsp;&nbsp; CloseKey;<br>&nbsp;&nbsp;&nbsp; Free;<br>&nbsp; end;<br>end;<br><br>procedure CreateSendToShortcut;<br>var<br>&nbsp;&nbsp; UK : IUnknown;<br>&nbsp;&nbsp; ShLnk : IShellLink;<br>&nbsp;&nbsp; PF: IPersistFile;<br>&nbsp;&nbsp; Shortcut: string;<br>&nbsp;&nbsp; pIDL :pItemIDList;<br>&nbsp;&nbsp; Buffer: array&#091;0..MAX_PATH&#093;of char;<br>&nbsp;&nbsp; Malloc: IMalloc;<br>begin<br>&nbsp;&nbsp; SHGetSpecialFolderLocation(0, CSIDL_SENDTO, pidl);<br>&nbsp;&nbsp; ShGetPathFromIdList(pIDL, PChar(@Buffer));<br>&nbsp;&nbsp; Shortcut:= Buffer;<br>&nbsp;&nbsp; OLECheck(SHGetMalloc(Malloc));<br>&nbsp;&nbsp; if pidl &lt;&gt; nil then Malloc.Free(pIDL);<br>&nbsp;&nbsp; Shortcut:=Shortcut+'\'+Application.Title+'.lnk';<br>&nbsp;&nbsp; CoInitialize(nil);<br>&nbsp;&nbsp; UK := CreateComObject(CLSID_ShellLink);<br>&nbsp;&nbsp; ShLnk := UK as IShellLink;<br>&nbsp;&nbsp; PF := UK as IPersistFile;<br>&nbsp;&nbsp; ShLnk.SetPath(pChar(Application.ExeName));<br>&nbsp;&nbsp; PF.Save(PWChar(WideString(Shortcut)), False);<br>&nbsp;&nbsp; CoUninitialize;<br>end; &nbsp;<br><br><br>// ------------------------------<br><br><br>//&nbsp; How to set your item directly into the explorer-context:<br>//&nbsp; anywhere via buttonclick or anything else...<br><br>&nbsp;&nbsp;&nbsp; with FileAssocInfo do<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AppPath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; := Application.ExeName;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Extension&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; := 'PDF';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; := 'Your:tool_name';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Description&nbsp;&nbsp;&nbsp; := 'PDF Your_tool_name';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AddLocalMenu&nbsp;&nbsp; := True;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MenuString&nbsp;&nbsp;&nbsp;&nbsp; := 'working with my pdf-tool!';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OpenCmd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; := '';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; := '';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;<br>&nbsp;&nbsp;&nbsp; RegisterFileAssociation(FileAssocInfo);<br><br>//&nbsp; How to remove your item from the explorer-context:<br>//&nbsp; anywhere via buttonclick or anything else...<br><br>&nbsp;&nbsp;&nbsp; DeleteFileAssociation('PDF', 'Your_tool_name');<br><br>//&nbsp; How to insert your item directly into the explorer-context:<br>//&nbsp; anywhere via buttonclick or anything else...<br><br>&nbsp;&nbsp;&nbsp; CreateSendToShortcut;<br><br>//&nbsp; How to remove your send-to-item from the explorer-context:<br>//&nbsp; anywhere via buttonclick or anything else...<br><br>&nbsp;&nbsp;&nbsp; filename := Application.Title+'.lnk';<br>&nbsp;&nbsp;&nbsp; SHGetSpecialFolderLocation(Form1.Handle, CSIDL_SENDTO, SFolder);<br>&nbsp;&nbsp;&nbsp; SHGetPathFromIDList(SFolder, SpecialPath);<br>&nbsp;&nbsp;&nbsp; deletefile(strpas(Specialpath)+'\'+ filename);<br><br><br>Cheers and welcome here,<br>Ingo<br><br><span style="font-size:10px"><br /><br />Edited by Ingo - 17 Nov 12 at 1:31PM</span>]]>
   </description>
   <pubDate>Sat, 17 Nov 2012 13:28:33 +0000</pubDate>
   <guid isPermaLink="true">http://www.quickpdf.org/forum/integrating-as-windows-explorer-utility_topic2456_post10304.html#10304</guid>
  </item> 
  <item>
   <title><![CDATA[Integrating as windows explorer utility : I have developed a utility for...]]></title>
   <link>http://www.quickpdf.org/forum/integrating-as-windows-explorer-utility_topic2456_post10303.html#10303</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.quickpdf.org/forum/member_profile.asp?PF=1239">kk aw</a><br /><strong>Subject:</strong> 2456<br /><strong>Posted:</strong> 17 Nov 12 at 4:16AM<br /><br /><div><div>I have developed a utility for words frequency count and OpenCalais entities extraction, and it will be neat if I can integrate it into the Windows Explorer just like the Debenu PDF Tools Pro. &nbsp;Any ideas where I can find the information on how to do this?</div></div><div><br></div>]]>
   </description>
   <pubDate>Sat, 17 Nov 2012 04:16:10 +0000</pubDate>
   <guid isPermaLink="true">http://www.quickpdf.org/forum/integrating-as-windows-explorer-utility_topic2456_post10303.html#10303</guid>
  </item> 
 </channel>
</rss>