【问题标题】:How to start a process using a .dll file in VC++ 2010如何在 VC++ 2010 中使用 .dll 文件启动进程
【发布时间】:2023-03-11 09:41:01
【问题描述】:

我正在尝试学习如何在 C++ 中使用 DLL 文件。根据我的研究,当我在代码中使用 DisplayNotepad() 时,这应该会打开记事本。我正在尝试编译它,但我收到编译器错误,我知道事实上 windows.h 定义了 ShellExecute 但它说找不到标识符。这是我的代码:

#include "stdafx.h"
#include <windows.h>
#include <iostream>
extern "C"
{
__declspec(dllexport) void DisplayNotepad()
 {
     ShellExecute(NULL, "open", "c:\\windows\\notepad.exe", NULL,NULL, SW_SHOW);
 }
}

我的编译器给了我以下错误:错误 C3861:'ShellExecute':找不到标识符。我这样做完全错了吗?感谢您的意见。

【问题讨论】:

  • 这段代码在 DLL 中运行的事实并不真正相关。让我们从你的问题中抽象出来。问题是关于ShellExecute 系统调用。

标签: c++ file dll process


【解决方案1】:

ShellExecute 的声明是 found in Shellapi.h,而不是 windows.h。

【讨论】:

    【解决方案2】:

    默认情况下不包含 Shell 标头。始终包含文档中列出的标题(在本例中为 shellapi.h)。

    【讨论】:

      猜你喜欢
      • 2012-02-02
      • 2011-05-28
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      相关资源
      最近更新 更多