Visual studio 2010 为Rundll32.exe编写自己的dll的文档?

Visual studio 2010 为Rundll32.exe编写自己的dll的文档?,visual-studio-2010,winapi,dll,rundll32,Visual Studio 2010,Winapi,Dll,Rundll32,可能重复: 我在哪里可以找到文档教程、书籍等来编写我自己的dll,它可以用rundll32.exe运行?这是我能想到的最基本的Hello World示例,它可以用rundll.exe运行。请按照以下步骤操作: 在我使用VS2010的Visual Studio中启动新的WIN32 DLL项目 在dlllmain.cpp中添加: // this shoud ideally go into the .h file I believe __declspec( dllexport ) void CALL

可能重复:


我在哪里可以找到文档教程、书籍等来编写我自己的dll,它可以用rundll32.exe运行?

这是我能想到的最基本的Hello World示例,它可以用rundll.exe运行。请按照以下步骤操作:

在我使用VS2010的Visual Studio中启动新的WIN32 DLL项目

在dlllmain.cpp中添加:

// this shoud ideally go into the .h file I believe
__declspec( dllexport ) void CALLBACK EntryPoint(
       HWND hwnd, 
      HINSTANCE hinst, 
      LPSTR lpszCmdLine, 
      int nCmdShow);

// our hello world function
void CALLBACK EntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow)
{
    int msgboxID = MessageBox(
        NULL,
        L"Hello World from Run32dll",
        L"Hello World",
        MB_ICONWARNING | MB_CANCELTRYCONTINUE | MB_DEFBUTTON2
    );

    switch (msgboxID)
    {
    case IDCANCEL:
        // TODO: add code
        break;
    case IDTRYAGAIN:
        // TODO: add code
        break;
    case IDCONTINUE:
        // TODO: add code
        break;
    }

}
将module.def文件添加到项目中,并在其中编辑以下代码段:

LIBRARY YourDll
EXPORTS
    EntryPoint
使用命令行编译并测试

rundll32 YourDll.dll,EntryPoint
你会收到一个带有三个按钮的消息框

我用下面的URL来克服C++问题,而在我的努力初期没有发现EntryPoint:


下面是我能想到的最基本的Hello World示例,它将与rundll.exe一起使用。请按照以下步骤操作:

在我使用VS2010的Visual Studio中启动新的WIN32 DLL项目

在dlllmain.cpp中添加:

// this shoud ideally go into the .h file I believe
__declspec( dllexport ) void CALLBACK EntryPoint(
       HWND hwnd, 
      HINSTANCE hinst, 
      LPSTR lpszCmdLine, 
      int nCmdShow);

// our hello world function
void CALLBACK EntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow)
{
    int msgboxID = MessageBox(
        NULL,
        L"Hello World from Run32dll",
        L"Hello World",
        MB_ICONWARNING | MB_CANCELTRYCONTINUE | MB_DEFBUTTON2
    );

    switch (msgboxID)
    {
    case IDCANCEL:
        // TODO: add code
        break;
    case IDTRYAGAIN:
        // TODO: add code
        break;
    case IDCONTINUE:
        // TODO: add code
        break;
    }

}
将module.def文件添加到项目中,并在其中编辑以下代码段:

LIBRARY YourDll
EXPORTS
    EntryPoint
使用命令行编译并测试

rundll32 YourDll.dll,EntryPoint
你会收到一个带有三个按钮的消息框

我用下面的URL来克服C++问题,而在我的努力初期没有发现EntryPoint:


那里甚至没有一个简单的你好世界!!!当然有!它为您提供了唯一相关函数的签名。你可以添加std::cout,那里甚至没有一个简单的hello世界!!!当然有!它为您提供了唯一相关函数的签名。您可以添加std::cout