瀏覽單個文章
waywaylee
Basic Member
 

加入日期: Oct 2000
您的住址: 天氣很好的地方
文章: 16
Question 救命,修改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);

}


--------我是分格線------------------------------------


謝謝大家幫忙
     
      
舊 2004-02-23, 07:11 PM #1
回應時引用此文章
waywaylee離線中