谁帮我把下面这段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
#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
#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);
}