3

C++プログラミングを使用してWindowsでアプリケーションを開くにはどうすればよいか疑問に思っていました.dev c++を使用しています。使用system()しましたが、うまく機能しないか、正しく使用していません。system()アプリケーションを開くための構文を教えてください。または別の関数を教えてください。

4

2 に答える 2

4

Windows では、system の代わりに shell execute を使用します。

#include <Windows.h>
//Link with library: Shell32.lib  or  libshell32.a

ShellExecute(
   NULL,            //handle to the parent window
   "open",          //Action to take 
   "Notepad.exe",   //Program path
   "arg1 arg2",     //Command line arguments
   "C:\\",           //Start in what directory
  SW_SHOWMAXIMIZED  //Window state
);

system() に関しては、コンソール (cmd.exe) に入力するのと同じ引数を 1 つだけ取ります。たとえば 、cmd.exesystem("dir /a");に入力するのとまったく同じです。dir /a

devC++でのビルドに問題がある場合は、プロジェクトのプロパティを確認してください。

「プロジェクトオプション」>ディレクトリ>から

  • ライブラリ ディレクトリ\MinGW64\x86_64-w64-mingw32\lib32
  • インクルード ディレクトリ: \MinGW64\x86_64-w64-mingw32\include

[プロジェクト オプション] > [パラメーター] > [リンカー] から

  • -lshell32
于 2013-06-27T08:39:20.270 に答える
0

CreateProcess を試しましたか?

CreateProcess(lpApplicationName
               NULL, NULL, NULL,
               NULL, NULL, NULL, NULL,
               lpStartupInfo,
               lpProcessInformation
              )
于 2013-06-27T08:37:56.223 に答える