我想用 RunDLL32 来运行一个 DLL 里的函数,但里面有个参数是 PAnsiChar 的,我要如何写 bat 呢?
正在做一个在线更新的东东,我想把它做成 DLL ,也就想到用RunDLL32 来执行它,DLL 中我导出一个函数为 UpdateNow(SettingFile:PAnsiChar)我要如何在 cmd 里输入命令呢?RunDLL32 LiveUpdate.dll UpdateNow "setting.xml"
RunDLL32 LiveUpdate.dll UpdateNow setting.xml这样我都试了,好象不行,得不到数据

解决方案 »

  1.   

    PAnsiChar 就是char*
    我也不太清楚如何调用的
      

  2.   

    Rundll32.exe DLLname,Functionname [Arguments]
    这样格式的
      

  3.   

    你这个不能用Rundll32.exe.设想你下让你编写Rundll32,你如何知道所要调用函数长什么样子?(Signature),所以它假定你的函数是这个样子的:void CALLBACK
      EntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow);你的UpdateNow显然不是,乱用会造成Stack Corruption。你自己写个能和你函数兼容的似RunDll的东西吧。
      

  4.   

    Rundll32.exe DLLname,Functionname [Arguments]
    -------------
    是这样的格式, Integer 可以传,但 char * 就不行了,现在我用读命令行的方式来读了