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. I this correct?

I this correct?

Scheduled Pinned Locked Moved C / C++ / MFC
c++question
28 Posts 2 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.
  • L Offline
    L Offline
    Lost User
    wrote on last edited by
    #1

    Sir, I want to execute a windows command in my C++ program. I know it can be done by adding system function. I want to add the windows command to a specific drive. I have coded a program which will collect the specific drive and will store the value in a wchar_t store[4] so in order to go for that specific drive I used

    system("store");//variable in which the disk like D:\ is stored

    command is this correct or wrong? Thank you

    L 1 Reply Last reply
    0
    • L Lost User

      Sir, I want to execute a windows command in my C++ program. I know it can be done by adding system function. I want to add the windows command to a specific drive. I have coded a program which will collect the specific drive and will store the value in a wchar_t store[4] so in order to go for that specific drive I used

      system("store");//variable in which the disk like D:\ is stored

      command is this correct or wrong? Thank you

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #2

      No that will try to execute a program/script called store. It is not clear what you mean by "add the windows command to a specific drive". Do you mean that you wish to add the drive letter to the command as a parameter, like:

      program D:

      Please clarify.

      L 1 Reply Last reply
      0
      • L Lost User

        No that will try to execute a program/script called store. It is not clear what you mean by "add the windows command to a specific drive". Do you mean that you wish to add the drive letter to the command as a parameter, like:

        program D:

        Please clarify.

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #3

        Yes sir store is now carrying the value D:\ I want to execute it by using the variable. What should I do now?

        L 1 Reply Last reply
        0
        • L Lost User

          Yes sir store is now carrying the value D:\ I want to execute it by using the variable. What should I do now?

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #4

          That still makes no sense, you cannot execute D:\.

          L 1 Reply Last reply
          0
          • L Lost User

            That still makes no sense, you cannot execute D:\.

            L Offline
            L Offline
            Lost User
            wrote on last edited by
            #5

            Sir, I think I have not explained my problem briefly.here is the brief explanation of my problem I want to find the attributes of the removable drive so, I need to get the string of the drive I've done everything and stored the string value in the "store" variable I mean the variable consists the drive location(D:\) so that I can execute another system function called attrib to find its attributes. Thank you

            L 1 Reply Last reply
            0
            • L Lost User

              Sir, I think I have not explained my problem briefly.here is the brief explanation of my problem I want to find the attributes of the removable drive so, I need to get the string of the drive I've done everything and stored the string value in the "store" variable I mean the variable consists the drive location(D:\) so that I can execute another system function called attrib to find its attributes. Thank you

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #6

              Then it is simply a matter of creating the full command and parameter in a string and passing that string to the system command.

              wchar_t sysCommand[128];
              swprintf_s(sysCommand, L"attrib %s", store);
              system(sysCommand);

              See also system, _wsystem[^].

              D L 2 Replies Last reply
              0
              • L Lost User

                Then it is simply a matter of creating the full command and parameter in a string and passing that string to the system command.

                wchar_t sysCommand[128];
                swprintf_s(sysCommand, L"attrib %s", store);
                system(sysCommand);

                See also system, _wsystem[^].

                D Offline
                D Offline
                David Crow
                wrote on last edited by
                #7

                I have no idea if this is the right answer to the OP's question, Richard, but the fact that you were able to ascertain something from it is impressive. :thumbsup:

                "One man's wage rise is another man's price increase." - Harold Wilson

                "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                "You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles

                L 1 Reply Last reply
                0
                • L Lost User

                  Then it is simply a matter of creating the full command and parameter in a string and passing that string to the system command.

                  wchar_t sysCommand[128];
                  swprintf_s(sysCommand, L"attrib %s", store);
                  system(sysCommand);

                  See also system, _wsystem[^].

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #8

                  Sir, errors are quiet similar to my initial work. i.e initially when I use system(store) it shows me an error the same error is showing when I use system(sysCommand); Error:

                  Severity Code Description Project File Line
                  Error C2664 'int system(const char *)': cannot convert argument 1 from 'wchar_t [128]' to 'const char *' CG C:\Users\User\Desktop\Analyser tools\Sub-Project\Sub-Project\USB informer.cpp 52

                  Thank you for your kind help

                  D L 2 Replies Last reply
                  0
                  • D David Crow

                    I have no idea if this is the right answer to the OP's question, Richard, but the fact that you were able to ascertain something from it is impressive. :thumbsup:

                    "One man's wage rise is another man's price increase." - Harold Wilson

                    "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                    "You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles

                    L Offline
                    L Offline
                    Lost User
                    wrote on last edited by
                    #9

                    Thanks, it was somewhat easier than many of the questions we are seeing.

                    1 Reply Last reply
                    0
                    • L Lost User

                      Sir, errors are quiet similar to my initial work. i.e initially when I use system(store) it shows me an error the same error is showing when I use system(sysCommand); Error:

                      Severity Code Description Project File Line
                      Error C2664 'int system(const char *)': cannot convert argument 1 from 'wchar_t [128]' to 'const char *' CG C:\Users\User\Desktop\Analyser tools\Sub-Project\Sub-Project\USB informer.cpp 52

                      Thank you for your kind help

                      D Offline
                      D Offline
                      David Crow
                      wrote on last edited by
                      #10

                      This is a Unicode issue.

                      "One man's wage rise is another man's price increase." - Harold Wilson

                      "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                      "You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles

                      L 1 Reply Last reply
                      0
                      • L Lost User

                        Sir, errors are quiet similar to my initial work. i.e initially when I use system(store) it shows me an error the same error is showing when I use system(sysCommand); Error:

                        Severity Code Description Project File Line
                        Error C2664 'int system(const char *)': cannot convert argument 1 from 'wchar_t [128]' to 'const char *' CG C:\Users\User\Desktop\Analyser tools\Sub-Project\Sub-Project\USB informer.cpp 52

                        Thank you for your kind help

                        L Offline
                        L Offline
                        Lost User
                        wrote on last edited by
                        #11

                        Sorry, my mistake, you need to use _wsystem. See the link I provided in a previous message.

                        L 2 Replies Last reply
                        0
                        • D David Crow

                          This is a Unicode issue.

                          "One man's wage rise is another man's price increase." - Harold Wilson

                          "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                          "You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles

                          L Offline
                          L Offline
                          Lost User
                          wrote on last edited by
                          #12

                          To sir DavidCrow: I am using Unicode characet set what should I do now? I am using only unicode and not multibyte Thank you for your kind help

                          D 1 Reply Last reply
                          0
                          • L Lost User

                            Sorry, my mistake, you need to use _wsystem. See the link I provided in a previous message.

                            L Offline
                            L Offline
                            Lost User
                            wrote on last edited by
                            #13

                            Sir, It works now Thank you for you kind,quick and constant help!

                            1 Reply Last reply
                            0
                            • L Lost User

                              To sir DavidCrow: I am using Unicode characet set what should I do now? I am using only unicode and not multibyte Thank you for your kind help

                              D Offline
                              D Offline
                              David Crow
                              wrote on last edited by
                              #14

                              You can't send a wchar_t array to system(). It's expecting a char pointer/array instead.

                              "One man's wage rise is another man's price increase." - Harold Wilson

                              "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                              "You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles

                              1 Reply Last reply
                              0
                              • L Lost User

                                Sorry, my mistake, you need to use _wsystem. See the link I provided in a previous message.

                                L Offline
                                L Offline
                                Lost User
                                wrote on last edited by
                                #15

                                Sir, I have completed everything and when I run my code the command window disappears immediately what should I do now? Thank you

                                L 1 Reply Last reply
                                0
                                • L Lost User

                                  Sir, I have completed everything and when I run my code the command window disappears immediately what should I do now? Thank you

                                  L Offline
                                  L Offline
                                  Lost User
                                  wrote on last edited by
                                  #16

                                  The system process will only run the command that you send it, and then terminate. There are alternative ways of doing this: see the exec commands at Process and Environment Control[^].

                                  L 1 Reply Last reply
                                  0
                                  • L Lost User

                                    The system process will only run the command that you send it, and then terminate. There are alternative ways of doing this: see the exec commands at Process and Environment Control[^].

                                    L Offline
                                    L Offline
                                    Lost User
                                    wrote on last edited by
                                    #17

                                    Sir, I referred here Execute a Program with C++[^] and did this

                                    ShellExecute(
                                    NULL,
                                    _T("open"),
                                    _T("cmd.exe"),
                                    _T("attrib"),
                                    (show),
                                    SW_SHOW);

                                    it is showing the show (I mean the directory) like this K:\ but not ececuting the attrib.how could I solve this? Thank you

                                    D L 2 Replies Last reply
                                    0
                                    • L Lost User

                                      Sir, I referred here Execute a Program with C++[^] and did this

                                      ShellExecute(
                                      NULL,
                                      _T("open"),
                                      _T("cmd.exe"),
                                      _T("attrib"),
                                      (show),
                                      SW_SHOW);

                                      it is showing the show (I mean the directory) like this K:\ but not ececuting the attrib.how could I solve this? Thank you

                                      D Offline
                                      D Offline
                                      David Crow
                                      wrote on last edited by
                                      #18

                                      If you are wanting to get the attributes of a file/folder, why do it the way we were doing it 30 years ago? See GetFileAttributes() instead.

                                      "One man's wage rise is another man's price increase." - Harold Wilson

                                      "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                                      "You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles

                                      1 Reply Last reply
                                      0
                                      • L Lost User

                                        Sir, I referred here Execute a Program with C++[^] and did this

                                        ShellExecute(
                                        NULL,
                                        _T("open"),
                                        _T("cmd.exe"),
                                        _T("attrib"),
                                        (show),
                                        SW_SHOW);

                                        it is showing the show (I mean the directory) like this K:\ but not ececuting the attrib.how could I solve this? Thank you

                                        L Offline
                                        L Offline
                                        Lost User
                                        wrote on last edited by
                                        #19

                                        Your parameters are not correct, and it will not work just by opening cmd.exe. You need to add the option to tell cmd to execute the sub-command in the parameter list automatically like:

                                        PWSTR show = L"/k attrib D:\\";
                                        ShellExecute(
                                        NULL,
                                        L"open",
                                        L"cmd.exe",
                                        show,
                                        NULL,
                                        SW_SHOW);

                                        Of course, the attrib command will not operate on a drive letter, and as David mentions, there are better ways of getting this information.

                                        L 1 Reply Last reply
                                        0
                                        • L Lost User

                                          Your parameters are not correct, and it will not work just by opening cmd.exe. You need to add the option to tell cmd to execute the sub-command in the parameter list automatically like:

                                          PWSTR show = L"/k attrib D:\\";
                                          ShellExecute(
                                          NULL,
                                          L"open",
                                          L"cmd.exe",
                                          show,
                                          NULL,
                                          SW_SHOW);

                                          Of course, the attrib command will not operate on a drive letter, and as David mentions, there are better ways of getting this information.

                                          L Offline
                                          L Offline
                                          Lost User
                                          wrote on last edited by
                                          #20

                                          Sir, Is there any other way to execute some commands like this to a specific drive by giving the drive string at the run time? because I have to define the drive name here? I have referred to create process, shell execute etc., attributes is one of my functions I need to execute several different commands like this on a specific drive how could one do it? Thank you

                                          D L 2 Replies 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