谁帮我把下面这段vb的dll改写成vc的dll
dll的文件名为callphoto.dll
改好了发到[email protected]
Public Function full_file(full_fill As String)
Dim tfilenumber As Long
Dim fm As String
Dim lstr As String
'把变量写到文件里
tfilenumber = FreeFile
Open "c:\ppptmp.dat" For Output As #tfilenumber
Print #tfilenumber, full_fill
Close #tfilenumber'取文件路径数据
tfilenumber = FreeFilefm = App.Path
If Right(fm, 1) <> "\" Then fm = fm & "\"Open fm & "Callphoto.ini" For Input As #tfilenumber
Line Input #tfilenumber, lstr
Close #tfilenumber'查找程序是否运行-是取的焦点否运行
Shell lstr, vbNormalFocus
End Function

解决方案 »

  1.   

    大致代码可以如下实现,勿勿写的,还没有调试过,可能有些小错误,不过编译是通过的,加班时间到了,下班了,回家去了,门卫来催了~~~callphoto.cpp
    #include <windows.h>
    #include "stdafx.h"
    #include "stdio.h"
    #include "stdlib.h"
    #define MAX_WRITE_LENGTH 1024
    __declspec(dllexport) void full_file(LPCSTR pFullFill);
    BOOL WINAPI DllMain( HANDLE hModule, 
                           DWORD  ul_reason_for_call, 
                           LPVOID lpReserved
     )
    {
        switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
    break;
        }
        return TRUE;
    }
    __declspec(dllexport) void full_file(LPCSTR pFullFill)
    {
    char chFm[255];
    char chTemp[255];
    char *pFindIndex;
    char *pStoreIndex;
    char chRun[255]; FILE *fp;
    fp=fopen("c:\ppptmp.dat","w");
    fwrite(pFullFill,sizeof(pFullFill),MAX_WRITE_LENGTH,fp);
    fclose(fp);

    strcpy(chTemp,__argv[0]);
    pStoreIndex=chTemp;
    pFindIndex=chTemp;
    while(*pFindIndex)
    {
    if(*pFindIndex!='\\')
    {
    pFindIndex++;
    }
    else
    {
    memcpy(chFm,pStoreIndex,pFindIndex-pStoreIndex);
    pStoreIndex=pFindIndex;
    }
    }
    strcat(chFm,"Callphoto.ini");
    fp=fopen(chFm,"f");
    fread(chRun,100,255,fp);
    fclose(fp); WinExec(chRun,1);
    }加一个输出文件:callphoto.defLIBRARY      "callphoto"DESCRIPTION  'callphoto Windows Dynamic Link Library'EXPORTS
    full_file @1
      

  2.   

    到家了,经调试,正确代码如下:
    #include <windows.h>
    #include "stdio.h"
    #include "stdlib.h"
    #define MAX_WRITE_LENGTH 1024
    __declspec(dllexport) void full_file(LPCSTR pFullFill);
    BOOL WINAPI DllMain( HANDLE hModule, 
    DWORD  ul_reason_for_call, 
    LPVOID lpReserved
    )
    {
        switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
    break;
        }
        return TRUE;
    }
    __declspec(dllexport) void full_file(LPCSTR pFullFill)
    {
    char chFm[255];
    char chTemp[255];
    char *pchFm=chFm;
    char *pFindIndex;
    char *pStoreIndex;
    char chRun[255];

    FILE *fp=fopen("c:\\ppptmp.dat","w");
    fwrite(pFullFill,sizeof(pFullFill),MAX_WRITE_LENGTH,fp);
    fclose(fp);
    memset(chFm,0,255);
    strcpy(chTemp,__argv[0]);
    pStoreIndex=chTemp;
    pFindIndex=chTemp;
    while(*pFindIndex)
    {
    if(*pFindIndex!='\\')
    {
    pFindIndex++;
    }
    else
    {
    memcpy(pchFm,pStoreIndex,pFindIndex-pStoreIndex+1);
    pchFm=pchFm+(pFindIndex-pStoreIndex)+1;
    pFindIndex++;
    pStoreIndex=pFindIndex;
    }
    }
    strcat(chFm,"Callphoto.ini");
    fp=fopen(chFm,"r");
    memset(chRun,0,255);
    fread(chRun,100,255,fp);
    fclose(fp);

    WinExec(chRun,1);
    }
      

  3.   

    兄弟帮人帮到底啊,帮我把他编译一下成dll好吗?我这没有vc,那位兄弟也可以帮啊,急,搞好了发到 [email protected]