Click here to Skip to main content
15,881,803 members
Articles / Programming Languages / C#

C# does Shell, Part 4

Rate me:
Please Sign up or sign in to vote.
4.93/5 (84 votes)
26 Mar 2003Ms-PL14 min read 288.9K   4.7K   165  
This article is about the AutoComplete features enabled by windows and how to use them with C#. AutoComplete is the ability to expand strings written in an edit box. The article will develop a class for using this functionality in you applications.
using System;

namespace ShellLib
{

	public class ShellAddRecent
	{
		public enum ShellAddRecentDocs
		{
			SHARD_PIDL			= 0x00000001,	// The pv parameter points to a null-terminated string with the path 
												// and file name of the object.
			SHARD_PATHA			= 0x00000002,	// The pv parameter points to a pointer to an item identifier list 
												// (PIDL) that identifies the document's file object. PIDLs that 
												// identify nonfile objects are not allowed.
			SHARD_PATHW			= 0x00000003	// same as SHARD_PATHA but unicode string
		}

		public static void AddToList(String path)
		{
			ShellApi.SHAddToRecentDocs((uint)ShellAddRecentDocs.SHARD_PATHW,path);	
		}

		public static void ClearList()
		{
			ShellApi.SHAddToRecentDocs((uint)ShellAddRecentDocs.SHARD_PIDL,IntPtr.Zero);
		}
	}

}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Microsoft Public License (Ms-PL)


Written By
Software Developer (Senior) Verint
Israel Israel
Arik Poznanski is a senior software developer at Verint. He completed two B.Sc. degrees in Mathematics & Computer Science, summa cum laude, from the Technion in Israel.

Arik has extensive knowledge and experience in many Microsoft technologies, including .NET with C#, WPF, Silverlight, WinForms, Interop, COM/ATL programming, C++ Win32 programming and reverse engineering (assembly, IL).

Comments and Discussions