我正在尝试学习如何在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':找不到标识符。我这样做完全错了吗?感谢您的投入。
答案 0 :(得分:6)
ShellExecute
的声明是found in Shellapi.h,而不是windows.h。
答案 1 :(得分:2)
默认情况下不包含Shell标头。始终包含文档中列出的标题(在本例中为shellapi.h
)。