Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. How to find the path of my current running application

How to find the path of my current running application

Scheduled Pinned Locked Moved C / C++ / MFC
tutorialjsonhelpquestion
16 Posts 7 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H Hamid Taebi

    Im not sure do you need to GetModuleFileName?

    C Offline
    C Offline
    chandu004
    wrote on last edited by
    #5

    vov, hamid, i tried it. it gave me the filename which iam running, like, d:\myapp\debug\myapp.exe. this will do for me. what all i want from this string is upto debug. may be i can do some parsing logic here to remove the myapp.exe. i would be pleased if you can suggest that for me. got my 5? thank you.

    R H R 3 Replies Last reply
    0
    • C chandu004

      thanks for your response. GetCurrentDirectory() gave me some clue, to achieve my goal. but it still fetches me the previous selected file's directory. how ever with GetCurrentDirectory() , in the initdialog, i can find the folder of the application and preserve it and use it though user changes the current folder. but instead of that, if i get it directly, it would be better. did you get my point or do i have to explain better?

      J Offline
      J Offline
      Jonathan Darka
      wrote on last edited by
      #6

      Here you go, this should do what you want.

      TCHAR szBuffer[_MAX_PATH] = {'\0'};
      DWORD dwLen = _MAX_PATH;

      GetModuleFileName(GetModuleHandle(NULL), szBuffer, dwLen);


      Jonathan Wilkes Darka[Xanya.net]

      C 1 Reply Last reply
      0
      • C chandu004

        vov, hamid, i tried it. it gave me the filename which iam running, like, d:\myapp\debug\myapp.exe. this will do for me. what all i want from this string is upto debug. may be i can do some parsing logic here to remove the myapp.exe. i would be pleased if you can suggest that for me. got my 5? thank you.

        R Offline
        R Offline
        Rajesh R Subramanian
        wrote on last edited by
        #7

        See PathRemoveFileSpec()

        Real men drive manual transmission.

        1 Reply Last reply
        0
        • C chandu004

          vov, hamid, i tried it. it gave me the filename which iam running, like, d:\myapp\debug\myapp.exe. this will do for me. what all i want from this string is upto debug. may be i can do some parsing logic here to remove the myapp.exe. i would be pleased if you can suggest that for me. got my 5? thank you.

          H Offline
          H Offline
          Hamid Taebi
          wrote on last edited by
          #8

          Yeah you can use of CString::Left for get full string of some strings of left. (one thing that it doesnt relative to your answer see my thread on the lonuge I saw a good site with nice wallpaper of milky way )

          C 1 Reply Last reply
          0
          • C chandu004

            vov, hamid, i tried it. it gave me the filename which iam running, like, d:\myapp\debug\myapp.exe. this will do for me. what all i want from this string is upto debug. may be i can do some parsing logic here to remove the myapp.exe. i would be pleased if you can suggest that for me. got my 5? thank you.

            R Offline
            R Offline
            Roger Stoltz
            wrote on last edited by
            #9

            _splitpath[^] in the CRT lib.


            "It's supposed to be hard, otherwise anybody could do it!" - selfquote
            "High speed never compensates for wrong direction!" - unknown

            C 1 Reply Last reply
            0
            • H Hamid Taebi

              Yeah you can use of CString::Left for get full string of some strings of left. (one thing that it doesnt relative to your answer see my thread on the lonuge I saw a good site with nice wallpaper of milky way )

              C Offline
              C Offline
              chandu004
              wrote on last edited by
              #10

              nice of ur wallpapers. why don't you attempt for my algorithm in corresponding forum.

              H 1 Reply Last reply
              0
              • C chandu004

                nice of ur wallpapers. why don't you attempt for my algorithm in corresponding forum.

                H Offline
                H Offline
                Hamid Taebi
                wrote on last edited by
                #11

                Im sorry but I dont understand what you said?

                C 1 Reply Last reply
                0
                • J Jonathan Darka

                  Here you go, this should do what you want.

                  TCHAR szBuffer[_MAX_PATH] = {'\0'};
                  DWORD dwLen = _MAX_PATH;

                  GetModuleFileName(GetModuleHandle(NULL), szBuffer, dwLen);


                  Jonathan Wilkes Darka[Xanya.net]

                  C Offline
                  C Offline
                  chandu004
                  wrote on last edited by
                  #12

                  no boss i'm still getting the recent selected file's folder by the user. thanks for your concern.

                  T 1 Reply Last reply
                  0
                  • H Hamid Taebi

                    Im sorry but I dont understand what you said?

                    C Offline
                    C Offline
                    chandu004
                    wrote on last edited by
                    #13

                    i mean please go to algorithms forum and try to attempt my post. thanku

                    1 Reply Last reply
                    0
                    • R Roger Stoltz

                      _splitpath[^] in the CRT lib.


                      "It's supposed to be hard, otherwise anybody could do it!" - selfquote
                      "High speed never compensates for wrong direction!" - unknown

                      C Offline
                      C Offline
                      chandu004
                      wrote on last edited by
                      #14

                      thanks for your reply roger. i shall definitely look into it if all my other choices disappoint me.

                      1 Reply Last reply
                      0
                      • C chandu004

                        no boss i'm still getting the recent selected file's folder by the user. thanks for your concern.

                        T Offline
                        T Offline
                        ThatsAlok
                        wrote on last edited by
                        #15

                        is you application is executable or dll!

                        "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
                        Never mind - my own stupidity is the source of every "problem" - Mixture

                        cheers, Alok Gupta VC Forum Q&A :- I/IV Support CRY- Child Relief and You

                        1 Reply Last reply
                        0
                        • C chandu004

                          hai friends, my problem is like this. in my program, (say for example) i will allow the user to select a file, any where in the computer. now after file selection, i have to create one file in the folder, where my program is available. i donot give any path while creation. i will simply use open(file1,write). but this file is created, in the folder, where the selected file is available. is there any api, which can fetch me the path of the current working folder, such that, i can save my folder there? thanks for your views.

                          N Offline
                          N Offline
                          Nelek
                          wrote on last edited by
                          #16

                          Try with...

                          CString m_szNewFileName = "";
                          char FileName[MAX_PATH];
                          GetModuleFileName(NULL, FileName, MAX_PATH);
                          m_szNewFileName = FileName;
                          m_szNewFileName = m_szNewFileName.Left(m_szNewFileName.ReverseFind('\\'));
                          m_szNewFileName += "DesiredNewName.ext"

                          CFile f (m_szNewFileName, CFile::modeCreate | CFile::modeWrite);

                          it worked good for me. This would create the new file in the forlder where the App.exe is. And afterwards you can delete the file with:

                          if (f.Open (m_szNewFileName, CFile::modeRead))
                          { f.Close ();
                          f.Remove (m_szNewFileName);
                          }

                          EDIT: Nice, my post is the newest one, but has the answers of the post just above (older than mine):doh: :P -- modified at 5:21 Monday 29th October, 2007 -- modified at 5:22 Monday 29th October, 2007

                          Greetings. -------- M.D.V. If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you ;)

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • World
                          • Users
                          • Groups