Click here to Skip to main content
Licence CPOL
First Posted 9 Jun 2009
Views 16,454
Downloads 541
Bookmarked 38 times

Project Rename - Rename an Existing Visual Studio Project

By | 9 Jun 2009 | Article
MFC Application to rename an Existing Visual Studio Project
ProjectRename

ProjRename-11.jpg

Introduction

This is an MFC application that renames Visual C++ Projects.
This application will replace all occurences of "Current Project Name" to "New Project Name" in all files and rename all file names that have "Current Project Name" in it.

This application supports:

  1. VC6 ~ VC9 Projects
  2. Changing the Project GUID
  3. Allows cancel during renaming
  4. UTF-8 files that may be created when the project name was non-english language
  5. Shows elapsed time and failed file list

    ProjRename-12.jpg

This application was developed for Windows XP and uses Windows XP visual style.
The borders of controls like CEdit may not be displayed clearly on Windows Vista.

Usage

  1. Browse the Visual C++ project to rename (*.dsp *.sln)
  2. Enter new project name
  3. Select "Project GUID change" if you want to change the project GUID
    (You can change GUID if you don't like the generated GUID)
  4. Click "Rename" to begin processing

Using the Code

This program is a dialog based application.
It has two views, one is "SelectView" the other is "ProgressView".

BEGIN_MESSAGE_MAP(CProjectRenameDlg, CDialog)
   ON_WM_SYSCOMMAND()
   ON_WM_PAINT()
   ON_WM_QUERYDRAGICON()
   ON_WM_DESTROY()
   ON_MESSAGE(WMU_SELECT_VIEW_CLOSE, OnSelectViewClose)
   ON_MESSAGE(WMU_PROGRESS_VIEW_CLOSE, OnProgressViewClose)
   ON_MESSAGE(WMU_RENAME_FINISHED, OnRenameDone)
   ON_MESSAGE(WMU_RENAME_CANCELED, OnCancelRename)
END_MESSAGE_MAP()

When the user clicked "Rename" to begin renaming, WM_SELECT_VIEW_CLOSE message is sent from "SelectView" and the thread to process is created.

LRESULT CProjectRenameDlg::OnSelectViewClose(WPARAM wParam, LPARAM lParam)
{
   m_pRenameThread = (CRenameThread*)AfxBeginThread
	(RUNTIME_CLASS(CRenameThread), THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED);
   m_pRenameThread->m_bCancel = FALSE;
   m_pRenameThread->m_pOwner = this;
   m_pRenameThread->m_renameOptions = ((CSelectView*)m_pSelectView)->GetRenameOptions();
   m_pRenameThread->ResumeThread();
}

When renaming has been finished, the thread sends WM_RENANE_FINISHED message to notify that renaming has been completed. 

BOOL CRenameThread::InitInstance()
{
    ASSERT(!m_renameOptions.strCurrentPath.IsEmpty());

    // Make list of files to rename
    m_astrFileList.RemoveAll();
    PrepareRename(m_renameOptions.strCurrentPath);

    m_renameStatus.nTotalFiles = m_astrFileList.GetSize();
    m_renameStatus.nCheckedFiles = 0;
    m_renameStatus.nRenamedFiles = 0;
    m_renameStatus.astrErrorList.RemoveAll();
    ProcessRename(m_renameOptions.strCurrentPath);
    return FALSE;
}

int CRenameThread::ExitInstance()
{
    m_pOwner->PostMessage(WMU_RENAME_FINISHED);
    return CWinThread::ExitInstance();
}

History

  • 8 Jun 2009: Version 0.10 Released
  • 9 Jun 2009: Version 0.11 Fixed bug with writing to UFT-8 files

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Flying Light



Korea (Republic Of) Korea (Republic Of)

Member



Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
Generalerror when project including a XML file Pinmembermaplewang21:16 24 Oct '10  
GeneralRe: error when project including a XML file PinmemberFlying Light13:38 27 Oct '10  
GeneralRe: error when project including a XML file Pinmembermaplewang21:23 22 Nov '10  
GeneralGot error when running ProjRen.exe Pinmemberehaerim10:11 15 Jun '09  
GeneralRe: Got error when running ProjRen.exe Pinmembermerano13:54 15 Jun '09  
GeneralRe: Got error when running ProjRen.exe Pinmemberehaerim14:19 15 Jun '09  
AnswerPlease download static executable PinmemberFlying Light18:48 15 Jun '09  
AnswerRe: Got error when running ProjRen.exe Pinmembermerano3:47 16 Jun '09  
General#include "res\ProjectRenameDlg.rc2" // non-Microsoft Visual C++ edited resources missing Pinmembertransoft2:12 10 Jun '09  
AnswerPlease download missing files PinmemberFlying Light3:00 10 Jun '09  
GeneralWorks fine PinmemberSpolm22:40 9 Jun '09  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web03 | 2.5.120517.1 | Last Updated 9 Jun 2009
Article Copyright 2009 by Flying Light
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid