How to get shortcuts file(*.LNK) to application(*.EXE) files only?

I use Visual C++ 4.2. 

I am developing an application which will collect all shortcuts file name 
ONLY without the extension into a text file.

So if the path is :
C:\Windows\ABC.lnk the the application will only take ABC.

There is an exception of:
VALID shortcut files which going to be collected 
are ALL shortcut files(*.lnk) to an application(*.exe) ONLY, NOT shortcut 
files to FOLDERS / other files.

I have successful in collecting all *.lnk files thus creating the text file 
which contain 
the shortcuts names but they also include shortcut to FOLDER and other 
files, I haven't 
filter it for EXE only.

How to prevent non-EXE shortcuts from being read?

I have tried:
http://msdn.microsoft.com/en-us/library/bb776891.aspx
but when it comes to the point of I call the ResolveIt function on my code 
below (inside the AddShortcutsList function), 
the sequence jumps out of it and did not process into the function.

When I call the ResolveIt function I wrote XXXXX on the THIRD argument 
because I don't know what I should pass as the THIRD argument.

Can you please help me solving this problem?

Thank you very much.

Here is my code to get them and then creating the text file containing the 
shortcuts file name:

void CUsrcpDlg::AddShortcutsList( CStringList& List, LPCTSTR lpszBasePath, 
LPCTSTR lpszPath, LPCTSTR lpszFileName )
{
	CString strWildCardPathName = lpszBasePath;
	CString	strBasePath = lpszBasePath;

 	if(	lpszPath != NULL && lstrlen( lpszPath ) > 0 ) {
		strWildCardPathName += "\\";
		strWildCardPathName += lpszPath;
 	}
	strWildCardPathName += "\\";
	strWildCardPathName += lpszFileName;
	
	WIN32_FIND_DATA FindData;
	HANDLE hFile = ::FindFirstFile( strWildCardPathName, &FindData );
	
	if( hFile == INVALID_HANDLE_VALUE )	return;

	CString strFileName;

	HRESULT hres = ResolveIt( m_hWnd, strFileName, XXXXX,MAX_PATH );
	if ( SUCCEEDED( hres ) )
		AfxMessageBox( m_cShortcutsFilePath );

	do {
		strFileName = FindData.cFileName;

		if(	FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) {
			if(	strFileName == _T( "." ) || strFileName == _T( ".." ) )	continue;

		 	if(	lpszPath != NULL && lstrlen( lpszPath ) > 0 ) {
				strFileName = "\\" + strFileName;
				strFileName = lpszPath + strFileName;
			}
			AddShortcutsList( List, lpszBasePath, strFileName, "*.lnk" );
		}
		else 
		{
			if(	lpszPath != NULL && lstrlen( lpszPath ) > 0 ) {
				strFileName = "\\" + strFileName;
				strFileName = lpszPath + strFileName;
			}
			List.AddTail( strFileName );
		}
	}	while( ::FindNextFile( hFile, &FindData ) );

	::FindClose( hFile );
}


BOOL CUsrcpDlg::WriteShortcutsFile()
{		
	CString	sShortcutsFileName;
	sShortcutsFileName.Format( "%sShortcuts.txt", m_cComputerNamePath );

	CStdioFile cFile;
	if( !cFile.Open( sShortcutsFileName, CFile::modeCreate | CFile::modeWrite, 
NULL ) )
		return FALSE;

	CStringList	ShortcutsList;
	AddShortcutsList( ShortcutsList, m_cShortcutsPath, "", "*.lnk" );
	POSITION pos = ShortcutsList.GetHeadPosition();
	while( pos != NULL ) {
		CString sFile = ShortcutsList.GetNext( pos );	
		CString sTemp = sFile.Left( sFile.GetLength() - 4 );
		cFile.WriteString( sTemp + "\n" );
	}

	cFile.Close();

	return TRUE;
}

0
landon (165)
5/21/2008 9:36:05 AM
vc.mfc 33608 articles. 0 followers. Follow

8 Replies
561 Views

Similar Articles

[PageSpeed] 44

Have a look at the IShellLink interface and its IShellLink::GetPath method in 
MSDN.

Victor

"Landon" wrote:

> I use Visual C++ 4.2. 
> 
> I am developing an application which will collect all shortcuts file name 
> ONLY without the extension into a text file.
> 
> So if the path is :
> C:\Windows\ABC.lnk the the application will only take ABC.
> 
> There is an exception of:
> VALID shortcut files which going to be collected 
> are ALL shortcut files(*.lnk) to an application(*.exe) ONLY, NOT shortcut 
> files to FOLDERS / other files.
> 
> I have successful in collecting all *.lnk files thus creating the text file 
> which contain 
> the shortcuts names but they also include shortcut to FOLDER and other 
> files, I haven't 
> filter it for EXE only.
> 
> How to prevent non-EXE shortcuts from being read?
> 
> I have tried:
> http://msdn.microsoft.com/en-us/library/bb776891.aspx
> but when it comes to the point of I call the ResolveIt function on my code 
> below (inside the AddShortcutsList function), 
> the sequence jumps out of it and did not process into the function.
> 
> When I call the ResolveIt function I wrote XXXXX on the THIRD argument 
> because I don't know what I should pass as the THIRD argument.
> 
> Can you please help me solving this problem?
> 
> Thank you very much.
> 
> Here is my code to get them and then creating the text file containing the 
> shortcuts file name:
> 
> void CUsrcpDlg::AddShortcutsList( CStringList& List, LPCTSTR lpszBasePath, 
> LPCTSTR lpszPath, LPCTSTR lpszFileName )
> {
> 	CString strWildCardPathName = lpszBasePath;
> 	CString	strBasePath = lpszBasePath;
> 
>  	if(	lpszPath != NULL && lstrlen( lpszPath ) > 0 ) {
> 		strWildCardPathName += "\\";
> 		strWildCardPathName += lpszPath;
>  	}
> 	strWildCardPathName += "\\";
> 	strWildCardPathName += lpszFileName;
> 	
> 	WIN32_FIND_DATA FindData;
> 	HANDLE hFile = ::FindFirstFile( strWildCardPathName, &FindData );
> 	
> 	if( hFile == INVALID_HANDLE_VALUE )	return;
> 
> 	CString strFileName;
> 
> 	HRESULT hres = ResolveIt( m_hWnd, strFileName, XXXXX,MAX_PATH );
> 	if ( SUCCEEDED( hres ) )
> 		AfxMessageBox( m_cShortcutsFilePath );
> 
> 	do {
> 		strFileName = FindData.cFileName;
> 
> 		if(	FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) {
> 			if(	strFileName == _T( "." ) || strFileName == _T( ".." ) )	continue;
> 
> 		 	if(	lpszPath != NULL && lstrlen( lpszPath ) > 0 ) {
> 				strFileName = "\\" + strFileName;
> 				strFileName = lpszPath + strFileName;
> 			}
> 			AddShortcutsList( List, lpszBasePath, strFileName, "*.lnk" );
> 		}
> 		else 
> 		{
> 			if(	lpszPath != NULL && lstrlen( lpszPath ) > 0 ) {
> 				strFileName = "\\" + strFileName;
> 				strFileName = lpszPath + strFileName;
> 			}
> 			List.AddTail( strFileName );
> 		}
> 	}	while( ::FindNextFile( hFile, &FindData ) );
> 
> 	::FindClose( hFile );
> }
> 
> 
> BOOL CUsrcpDlg::WriteShortcutsFile()
> {		
> 	CString	sShortcutsFileName;
> 	sShortcutsFileName.Format( "%sShortcuts.txt", m_cComputerNamePath );
> 
> 	CStdioFile cFile;
> 	if( !cFile.Open( sShortcutsFileName, CFile::modeCreate | CFile::modeWrite, 
> NULL ) )
> 		return FALSE;
> 
> 	CStringList	ShortcutsList;
> 	AddShortcutsList( ShortcutsList, m_cShortcutsPath, "", "*.lnk" );
> 	POSITION pos = ShortcutsList.GetHeadPosition();
> 	while( pos != NULL ) {
> 		CString sFile = ShortcutsList.GetNext( pos );	
> 		CString sTemp = sFile.Left( sFile.GetLength() - 4 );
> 		cFile.WriteString( sTemp + "\n" );
> 	}
> 
> 	cFile.Close();
> 
> 	return TRUE;
> }
> 
0
Victor (177)
5/21/2008 12:03:00 PM
I have tried the IShellLink interface and its GetPath method. I have 
mentioned it in my source code in my post. Can you please check it?

Thank you in advance.
0
landon (165)
5/21/2008 12:15:00 PM
Sorry, I missed it since you only mentioned some link to MSDN, not directly 
IShellLink.

Well, you wrote:
*****************
When I call the ResolveIt function I wrote XXXXX on the THIRD argument 
because I don't know what I should pass as the THIRD argument.
********

Why "XXXXX"? The THIRD argument must be a pointer to the buffer where the 
..exe path-name will be placed! You must allocate this buffer (at least 
MAX_PATH characters) and pass the buffer pointer to this ResolveIt function.

Victor

"Landon" wrote:

> I have tried the IShellLink interface and its GetPath method. I have 
> mentioned it in my source code in my post. Can you please check it?
> 
> Thank you in advance.
0
Victor (177)
5/21/2008 2:36:03 PM

> Well, you wrote:
> *****************
> When I call the ResolveIt function I wrote XXXXX on the THIRD argument 
> because I don't know what I should pass as the THIRD argument.
> ********
> 
> Why "XXXXX"? The THIRD argument must be a pointer to the buffer where the 
> .exe path-name will be placed! You must allocate this buffer (at least 
> MAX_PATH characters) and pass the buffer pointer to this ResolveIt function.
> 
> Victor

it is:
HRESULT ResolveIt(HWND hwnd, LPCSTR lpszLinkFile, LPSTR lpszPath, int 
iPathBufferSize) 
right?

I don't understand the LPSTR type. Do you mean the path to my app exe name? 
Like "C:\Abcd\123\App.exe" ? or what?

Do you know why my code does not work?
When I debug it, the hres variable always fail to be SUCCEEDED, so that I 
can't get the szGotPath value which is the full path and from it I can know 
if it is an application or a folder.

Do you know what is wrong?

Thank you very much. 
0
landon (165)
5/21/2008 3:00:01 PM
LPSTR is the same as char*
So you could write:

char pathname[MAX_PATH];
......
HRESULT hres = ResolveIt( m_hWnd, strFileName, pathname, MAX_PATH );
.....
and after ResolveIt returns pathname should contain the corresponding 
path-name.

Victor


"Landon" wrote:

> 
> 
> > Well, you wrote:
> > *****************
> > When I call the ResolveIt function I wrote XXXXX on the THIRD argument 
> > because I don't know what I should pass as the THIRD argument.
> > ********
> > 
> > Why "XXXXX"? The THIRD argument must be a pointer to the buffer where the 
> > .exe path-name will be placed! You must allocate this buffer (at least 
> > MAX_PATH characters) and pass the buffer pointer to this ResolveIt function.
> > 
> > Victor
> 
> it is:
> HRESULT ResolveIt(HWND hwnd, LPCSTR lpszLinkFile, LPSTR lpszPath, int 
> iPathBufferSize) 
> right?
> 
> I don't understand the LPSTR type. Do you mean the path to my app exe name? 
> Like "C:\Abcd\123\App.exe" ? or what?
> 
> Do you know why my code does not work?
> When I debug it, the hres variable always fail to be SUCCEEDED, so that I 
> can't get the szGotPath value which is the full path and from it I can know 
> if it is an application or a folder.
> 
> Do you know what is wrong?
> 
> Thank you very much. 
0
Victor (177)
5/21/2008 3:11:05 PM
> LPSTR is the same as char*
> So you could write:
> 
> char pathname[MAX_PATH];
> .....
> HRESULT hres = ResolveIt( m_hWnd, strFileName, pathname, MAX_PATH );
> ....
> and after ResolveIt returns pathname should contain the corresponding 
> path-name.

Yes, I'Ve tried it and it compiled successfully but the main problem I found 
when I debug my code was at this point:

hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, 
                            IID_IShellLink, (LPVOID*)&psl); 

it is inside the ResolveIt function. 

hres is never successfull so it cannot proceed into the big if block which 
has a lot of process.

What was wrong? Since it use none of the arguments passed to the function?

Thank you very much.
0
landon (165)
5/22/2008 1:26:01 AM
LPTSTR is  TCHAR*, not CHAR*.

"Victor" <Victor@discussions.microsoft.com> wrote in message 
news:7DBFE43E-DB72-44F9-9ACE-4A16FF87577F@microsoft.com...
> LPSTR is the same as char*
> So you could write:
>
> char pathname[MAX_PATH];
> .....
> HRESULT hres = ResolveIt( m_hWnd, strFileName, pathname, MAX_PATH );
> ....
> and after ResolveIt returns pathname should contain the corresponding
> path-name.
>
> Victor
>
>


0
alegr (1131)
5/22/2008 2:48:47 AM
Yes, Alexander, of course!
But in the MS example OP referred to there is LPSTR variable that is used as 
a ResolveIt(...) function parameter.

Victor

And to "simplify" the problem I didn't mention that using the old char* type 
is a bad style and the source for potential disaster... (I know. Joe explains 
it much better! :) ) 

"Alexander Grigoriev" wrote:

> LPTSTR is  TCHAR*, not CHAR*.
> 
> "Victor" <Victor@discussions.microsoft.com> wrote in message 
> news:7DBFE43E-DB72-44F9-9ACE-4A16FF87577F@microsoft.com...
> > LPSTR is the same as char*
> > So you could write:
> >
> > char pathname[MAX_PATH];
> > .....
> > HRESULT hres = ResolveIt( m_hWnd, strFileName, pathname, MAX_PATH );
> > ....
> > and after ResolveIt returns pathname should contain the corresponding
> > path-name.
> >
> > Victor
> >
> >
> 
> 
> 
0
Victor (177)
5/22/2008 9:00:45 AM
Reply:

Similar Artilces:

Reflecting info between an excel file and a word one or two excel file.
I have an Excel file that I use as a database with the dates of the time when my company does the maintenance of our electronics tools (we work in an industry that uses them a lot, we have around 200 in an Excel file). So the documents look as follows (the images are copied and edited in paint, that's why they look kinda weird). They are next to each other; I divided it here in order to fit it to word's format (it's in Spanish, there's no need for you to understand what it says anyway): Go to www.caladeamerica.com.ar/1st file.jpg please and see it. We do the maintenance of...

i get error 404 not found when trying to download
I'm trying to download nokia pc suite to windows xp to upload gallery onto the computer but get error message404 not found - how can i download this pc suite please -- Krysy Albutt Krysy Albutt wrote: > I'm trying to download nokia pc suite to windows xp to upload gallery > onto the computer but get error message404 not found - how can i > download this pc suite please Care to enlighten us how this pertains to: - 1) Microsoft 2) Publisher 3) Windows If you're having problems downloading from the *NOKIA* site where do you think you should be directing your ...

SENDFILE.EXE
This sendfile.exe has been very helpful to our company. we use it for starting emails automatically from a dos application. however, we now have an application where we not only want the email started....but we want it to be sent automatically without us having to hit the send button. does anyone know of the parameter (if it exists) which will send the email automatically? Any and all feedback would be much appreciated. Derek ...

How do I import a WORD file into EXCEL? #2
I'd like to import a WORD table to Excel but when I go to "Select Data Source", only other EXCEL files show, not my WORD files but the Help function indicates that all files should be showing. I've selected "Text Files" from the Data Source; I've tried "All File Types" with no luck. Anybody have a clue for me? ..signed, an Excel Idiot......thanks! File>open and select all files or copy and paste -- Regards, Peo Sjoblom "MauiMama" <MauiMama@discussions.microsoft.com> wrote in message news:27741FDC-23BA-478D-98AC-21760...

How to get Calendar to send me reminders
I have changed my e-mail address but for some reason I cannot get Calendar to send reminders to my new address - I think I have carried out all that is necessary to effect the changover but I am not getting reminders sent. Can anyone help please? Is the Calendar Live ID based and accessible at Calendar.live.com ? -- ....winston ms-mvp mail "Dabardevon" wrote in message = news:FDC2B3B2-EDE4-41B1-BFC4-C0F9ED59CFB9@microsoft.com... I have changed my e-mail address but for some reason I cannot get = Calendar to send reminders to my new address - I think I have...

PDF file #9
I have Publisher 2002 and would like to insert a .pdf file into a document I am working on. How do / Can I do this? Many thanks, Ger ...

isv.config file rollback
I have an issue with the isv.config file. I customized it, adding a couple of buttons to the toolbar section under quote. Every now and again, the isv.config file reverts back to an older version of the file, which does not have my customizations. Has anyone encountered this problem? Is there any way to prevent this from happening? Is there some setting that I may have forgotten to set? The isv.config is just a file so it won't revert on it self. However if you import an xml customization file this may contain a blank isv.config. -- Patrick Verbeeten (MCSD) Lead Developer ...

Some recipients get the attachment, some get winmail.dat
This one has me baffled. We are using Exchange 2000 and Outlook 2000 and have been for 8 months. No previous problems with attachments (.doc, .xls, .jpg). About 2 weeks ago, we started hearing from certain recipients that the attachment wasn't arriving; instead they were getting an unreadable file called winmail.dat. MS says that this is because the sender is using Rich Text to format the email. We have changed the senders to use Plain Text and still have the same problem. If the email is sent to several recipients, some will get the attachment fine, some will not. This didn'...

Conditional linked files
Hi, I have two files (a master and a detail) in which I pull through a column from the detail to the master, using "=[Detail.xls]Sheet1!$A$2" However I would like to configure the spreadsheets so that only data which meets a condition is pulled in the master, in other words using pseudo code as follows. If [link] in detail.xls = yes then display in master. I realise that the condition statement will probably need to sit in the master file but have no idea how this is done or whether possible at all. Any ideas? Mark -- madiba --------------------------------------------------...

How to get the CScrollBar's Handle in CTreeCtrl?
Hey,All: I thought I have a problem when I trid to get the CScrollBar's handle from my CTreeCtrl extended handle. Can anybody tell me whether I can get the handle of the CScrollBar from the CTreeCtrl? Thanks in advance! Carl :-| Carl wrote: > Hey,All: > > I thought I have a problem when I trid to get the CScrollBar's handle from > my CTreeCtrl extended handle. > Can anybody tell me whether I can get the handle of the CScrollBar from the > CTreeCtrl? > > Thanks in advance! > Carl > :-| > > Sorry, it is not that simple. The scroll bars that...

A Crystal Beginner
I am using Crystal 9.2.4.77 and have loaded the Crystal enhancements. Now I want to do against the CRM database. What do I do? I thought I would create a data source to the CRM SQLserver, which I did, then connect to it through Crystal Reports. That works, but when I drill down on the AAA_MSCRM database to choose my tables, it shows me dbo as the only option (where did this come from??) and under that are just a few generic tables. No CRM tables. Something's not quite right. What am I missing? file - log on to aps server "KBLawson" <klawson@aetinc.com> wrote in ...

Same file exists when I run Optimizer
Dear Sir/Madam, While I was running the Optimizer to utilize free space I met a error message during moving the files C:\exchsrvr\imcdata into D:\exchsrver\imcdata " There is the same file, ...., in the destination.". But I could see for sure that there was No files in the destination. Could you let me know how to fix it? Thanks a lot in advance. KC "�̱�ö" <kclee@jcsworld.com> wrote: >While I was running the Optimizer to utilize free space I met a error >message during moving the files C:\exchsrvr\imcdata into >D:\exchsrver\imcdata " There is...

file is locked does not appear in Excel if file already open by an
We have shared files on a network drive. When a file is open by one user, and a second user opens the file we want them to recieve <filename> is locked for editing message and open the file read only. This works great for some users, but we have several users that can open the file (even if someone is already in it) and they do not get the prompt and can edit the workbook. Is there a setting that would turn this off for some users and not others in excel? Hello Leslie, You could try sharing the workbook. With the Excel workbook open, choose Tools from the menu. Choose Share W...

Cannot get fast forward or fast reverse to work with WMP 11
I am running Vista Home Premium on a HP G 217-EM Notebook which comes pre-installed with Windows Media Player 11. When I play cds and try to fast forward or fast reverse by keeping the fast forward or fast reverse buttons constantly depressed nothing happens. Why is this, and can anyone come up with a solution? Many thanks This doesn't work on my system either, so it's probably just a limitation of WMP. Fast forward and fast reverse should work fine when you rip the CD's to MP3 or WMA files, and play these files instead. Regards -- Tim De Baets http://www....

Get paid while you get online!!
I found a great Internet company - Cashfiesta.com - that has created a product everyone can benefit from. They pay you while you work or play on your computer. All you need to do is keep their software - the FiestaBar=99 - active while you are online. They even pay you when your friends are using their computers. Unlike other companies, Cashfiesta gives you control over how much money you earn. They have an individual payrate based on the number of Special Offers you sign up for. As some of these offers are free, you can increase your payrate up to 33 times without spending a penny. It's...

I can not open doc file attachments from outlook express 6.0
I can not open doc file attachments in outlook express 6.0 Error message - There is not enough memory to open file All other attachments eg: jpeg etc are fine I have already increased my paging memory. >-----Original Message----- >I can not open doc file attachments in outlook express 6.0 >Error message - There is not enough memory to open file >All other attachments eg: jpeg etc are fine=20 >I have already increased my paging memory. >. > These Newsgroups address Office Outlook issues. Outlook Express gurus hang out here: http://communities.microsoft.com/newsgroups/def...

Save & File
My company just switched from Lotus Notes to Outlook. In Notes I was able to "Send and Save" in one keystroke, sending the message and choosing a file (that is already set up by catagories I need) and it was saved there. Is there is a similar (i.e. quick) way to do it in Outlook? Thank you. You can use rules to copy messages after send. JMac wrote: > My company just switched from Lotus Notes to Outlook. In Notes I was able to > "Send and Save" in one keystroke, sending the message and choosing a file > (that is already set up by catagories I need...

Can't get auto-update (update) to install
Version: 2008 Operating System: Mac OS X 10.4 (Tiger) Processor: Power PC I've been trying to manually check for updates to Word 2008, and I get a &quot;critical update&quot; notice, asking me to install auto-update. When I try to install it, I cannot. It just keeps repeating the attempt, in an &quot;endless loop.&quot; What to do? <br> Thank you. ...

Converting Outlook files #2
Hi, In a magazine article that I read, it said that when moving from Outlook 2002 or earlier to Outlook 2003, you should convert the file to the new format that is found in 2003, but how can I do that BTW. I don't want to loose all of the documents and setting that are already associated with the current file -- Thank you in Advance Merci a l'Avance Martin In Outlook 2003, File->New->Outlook Data File->Type->Personal Folders File. Do not select the 97-2002 format. Then drag and drop your folders from the old to the new. --� Milly Staples [MVP - Outlook] Post...

Spreadsheet getting corrupted
Hello All: I have a relatively large spreadsheet. I am getting errors (see after my signature line). What could be causing these errors? Is it that the spreadsheet is too large? Thanks Deguza -------------------------------------------------------- Microsoft Office Excel File Repair Log Errors were detected in file 'C:\Documents and Settings\deguza\My Documents\sales\Sales_2006_2007.xls' The following is a list of repairs: Global PivotTable report information was repaired due to integrity problems. Global PivotTable report information was repaired due to integrity problems. Glo...

Unzip Files
How do I unzip files contained in an email using Windows Office 2000? You have to download the pkzip app, or an equivalent eg winzip, from one of the shareware sites http://www.winzip.com/ eg David "Rita" <coolbird46@yahoo.com> wrote in message news:388519F6-8A1F-4661-952A-6BBDB9E78E5B@microsoft.com... > How do I unzip files contained in an email using Windows Office 2000? ...

Reg getting the next IV Document Number field !
Hi, I am creating a window in dexterity similar to the item transaction entry window (Transactions>Inventory> Transaction Entry). In the Item transaction Entry window, the Document number field defaults to the next document number when we move the focus to that field. I wanted to know if there is any function , or table that i can access to get the next document number in the new window that i am creating. Thanks, swetha -- swetha >In the Item transaction Entry window, the Document number field defaults to the next document number when we move the focus to that field.< T...

Checking specific text string in excel files stored in a folder
Hi, I need to write a code that can do the following: 1) prompt user to select a particular folder 2) search for a particular text string, for e.g., ABCD in all the excel files in that folder (the number of files in the folder will vary and so does the names of the files). Is it possible to specify the string that we want to search on the fly when macro is run? 3) create a simple report that contains the filename in one column and yes / no in the second column that tell me which file names contain that keyword (it will be great if the path of the file can be recorded in the 3rd colum...

Increasing the number of files as recent files
Hello When I open file menu, I get the last 4 files I have previously openned. Is there a way to increase the number of recent files I have openned before? Thanks in advance. Hamed... Hi Hamed, You can go up to 9 entries in Excel 2000. Tools, Options, General, [x] recently used files list: -- 9 -- entries. --- HTH, David McRitchie, Microsoft MVP - Excel [site changed Nov. 2001] My Excel Pages: http://www.mvps.org/dmcritchie/excel/excel.htm Search Page: http://www.mvps.org/dmcritchie/excel/search.htm "Hamed" <hamedarab@hotmail.com> wrote ... > When I op...

Intersting issue regarding msg files
I have a client using Outlook 2003. Scenario: 1. Client creates a message (default format is HTML) and saves it as a draft. 2. Client then drags and drops message from draft folder into a network location. File has .msg extension. 3. Another user then double clicks on the msg file, and makes some live changes to it and then clicks SEND 4. Message is sent but none of the changes were made. The client used to do this with Outlook Express and never had a problem. Now that they are using Outlook 2003 this problem has surfaced. Any ideas? TIA KIWI ...