【问题标题】:Opening a windows application like a game or a browser or any other program with c++使用 c++ 打开 Windows 应用程序,如游戏或浏览器或任何其他程序
【发布时间】:2013-06-27 08:33:27
【问题描述】:

我想知道如何使用 c++ 编程在 Windows 中打开任何应用程序,我使用的是 dev c++。我使用了system(),但它表现不佳或者我没有正确使用它。请告诉我system() 的语法来打开一个应用程序或告诉另一个函数。

【问题讨论】:

    标签: c++ windows process windows-applications


    【解决方案1】:

    Windows 使用 shell 执行而不是系统。

    #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) 中键入的参数相同 例如 system("dir /a"); 与在 cmd.exe 中键入 dir /a 完全相同

    如果您在构建 devC++ 时遇到问题,请检查项目属性。

    来自“项目选项”>目录>

    • 库目录\MinGW64\x86_64-w64-mingw32\lib32
    • 包括目录:\MinGW64\x86_64-w64-mingw32\include

    来自“项目选项”>参数>链接器

    • -lshell32

    【讨论】:

    • windows.h 是否包含在 minggw 编译器中,因为 dev c++ 使用该编译器?
    • 如果你推荐,我可以使用另一个 ide,它会创建 .exe 文件。
    • 我认为是。您可以在计算机上搜索该文件名。如果你找到它,你只需要修复包含目录以指向它。我推荐visual C++ express edition进行开发。
    • C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include\windows.h
    【解决方案2】:

    您尝试过 CreateProcess 吗?

    CreateProcess(lpApplicationName
                   NULL, NULL, NULL,
                   NULL, NULL, NULL, NULL,
                   lpStartupInfo,
                   lpProcessInformation
                  )
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-16
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 2011-03-20
    相关资源
    最近更新 更多