Basic Member
|
救命,修改DLL檔,改不出來就要滾蛋了!
小弟奉老闆之命要修改一dll檔,此檔可在WIN98上供VB執行無誤,但WIN2000及XP則不行,經修改之後還是不行,小弟才疏學淺,望站上各位大大幫忙想想辦法修改,或提供相關論壇之連結,如蒙大德幫助,小地自當登門拜謝,喝杯茶,吃口包子囉,缸溫啦!
98下可執行:
#include <afxwin.h>
#include <conio.h>
#include "p1.h"
extern "C"
int PASCAL EXPORT RP(int p_add)
{
return _inp(p_add);
// for(int p2=0; p2<10; p2++);
}
/////////////////////////////////////////////////////////////////
extern "C"
void PASCAL EXPORT WP(int p_add, int data)
{
_outp(p_add, data);
// for(int p2=0; p2<180000; p2++);
}
--------我是分格線--------------------------------
//header file
extern "C" {
int PASCAL EXPORT RP(int p_add);
}
extern "C" {
void PASCAL EXPORT WP(int p_add, int data);
}
--------我是分格線--------------------------------
修改後
#include <afxwin.h>
#include <conio.h>
#include "p1.h"
////////////////////////////////////////////////////////
class CDynamDLL : public CWinApp
{
public:
virtual BOOL InitInstance();
virtual int ExitInstance();
CDynamDLL(LPCTSTR pszAppName):CWinApp(pszAppName){}
};
//DEL BOOL CDynamDLL::InitInstance()
//DEL {
//DEL
//DEL SetDialogBkColor();
//DEL return TRUE;
//DEL }
//DEL int CDynamDLL::ExitInstance()
//DEL {
//DEL return CWinApp::ExitInstance();
//DEL }
extern "C"
void PASCAL EXPORT WP(int x, int y)
{
_outp(x, y);
for(int p=0; p<180000; p++);
}
extern "C"
int PASCAL EXPORT RP(int add)
{
return _inp(add);
// for(int 02=0; p2<180000; p2++);
}
--------我是分格線--------------------------------
<p1.h>
extern "C" {
void PASCAL EXPORT WP(int x, int y);
}
extern "C" {
int PASCAL EXPORT RP(int add);
}
--------我是分格線------------------------------------
謝謝大家幫忙
|