recherche

Maison  >  Questions et réponses  >  le corps du texte

请问 c#如何调用c++的dll? 就比如下面这个

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

<code>CString GetCurrentDir(void)

{

    TCHAR sDrive[_MAX_DRIVE];

    TCHAR sDir[_MAX_DIR];

    TCHAR sFilename[_MAX_FNAME];

    TCHAR Filename[_MAX_FNAME];

    TCHAR sExt[_MAX_EXT];

     

    GetModuleFileName(AfxGetInstanceHandle(),Filename,_MAX_PATH);

    _tsplitpath(Filename,sDrive,sDir,sFilename,sExt);

    CString HomeDir(CString(sDrive)+CString(sDir));   

    if (HomeDir.GetAt(HomeDir.GetLength()-1)!=_T('\\'))

        HomeDir+=_T('\\');

    return HomeDir;

}

 

 

    char path[256];

    sprintf(path, "%splaylist1.txt", GetCurrentDir());

    result = AddWindowEx(iCom, iAddress, iSchedule, 0, 0, 128, 32, path);

    if (!result)

        AfxMessageBox("设置播放数据playlist1.txt失败");</code>

我怎么调用AddWindowEx 这个方法
主要是 sprintf(path, "%splaylist1.txt", GetCurrentDir()); 这一句是干嘛的 百度了一圈也没看到答案 有没有c++大神 帮忙看看

怪我咯怪我咯2829 Il y a quelques jours738

répondre à tous(4)je répondrai

  • 黄舟

    黄舟2017-04-17 13:56:23

    sprintf 可以用 C# 的 string.Format() 代替,如果用 C#6 可以直接写模板字符串 $"",GetCurrentDir 应该可以用 Environment.CurrentDirectory 代替。

    1

    2

    <code class="cs">var path = string.Format("{0}playlist1.txt", GetCurrentDir());

    path = $"{GetCurrentDir()playlist1.txt}";</code>

    AddWindowEx 是个自定义函数吗?

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-17 13:56:23

    c#只能通过平台调用c函数

    répondre
    0
  • 黄舟

    黄舟2017-04-17 13:56:23

    1

    2

    3

    <code>using System.Runtime.InteropServices;

    [DLLImport("xxx.dll")]

    public static extern 返回值 方法名(参数);</code>

    然后直接调用方法即可

    répondre
    0
  • 黄舟

    黄舟2017-04-17 13:56:23

    字符串格式化函数,百科有词条

    répondre
    0
  • Annulerrépondre