0

我必须创建将接受参数的 dll,然后使用这些参数调用 exe。

一些代码如下

// exportimage.cpp : 定义 DLL 应用程序的入口点。
//

#include “stdafx.h”
#include <stdio.h>     
#include <stdlib.h>


#ifdef _MANAGED
#pragma 管理(推,关)
#万一

BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD ul_reason_for_call,
                       LPVOID lpReserved
                     )
{

  int retCode = system("C:\\Inetpub\\wwwroot\\exporter\\res\\applet\\phantomjs.exe"
    " C:\\Inetpub\\wwwroot\\exporter\\res\\include\\highcharts-convert.js -infile"
    " C:\\Inetpub\\wwwroot\\exporter\\res\\graphs\\SVGData_137240462725.svg -outfile"
    " C:\\Inetpub\\wwwroot\\exporter\\res\\graphs\\Image_Export_137240462725.png"
    “ -scale 2.5 -width 1088”);
  返回真;
}

#ifdef _MANAGED
#pragma managed(pop)
#万一


现在我想获取以下参数
1) 导出器的路径
2) .svgfile 的名称
3) .png 文件的名称

我将通过对此dll设置操作来通过html表单传递这些参数。所以请告诉我这将需要什么更改对于上面的代码,当我将它用于给定的SVG文件时它可以工作但我的浏览器挂起所以请告诉我这有什么问题,比如返回另一个这个等等。

我通过 vc++ 创建了这个 c++ 文件,我对 c++ 很陌生。

4

2 回答 2

1

将实际代码放在导出的函数中,而不是放在 DllMain() 中。您可以为导出的函数提供您想要的任何原型。

于 2013-06-28T10:14:33.647 回答
1

您必须创建入口点。

__declspec(dllexport)
void foo(const char* path, const char* svgfile, const char* pngfile) {
  // do something
}

您不能在 DllMain 中添加这样的代码。

于 2013-06-28T10:16:13.830 回答