Win32 사막 플러그인 dm 호출dll 자습서
2701 단어 CC++
알림: 관리자로 실행해야 합니다. 그렇지 않으면regsvr32.exe dm.dll가 실패합니다.
먼저 stdafx.h에 다음 코드를 넣고 dm를 가져옵니다.dll
#import "dm.dll" no_namespace
2. win32에서 응용 프로그램 초기화에 이 코드를 삽입합니다
WinExec("regsvr32.exe dm.dll /s", SW_HIDE);
CoInitialize(NULL);
CLSID clsid;
CLSIDFromProgID(OLESTR("dm.dmsoft"), &clsid);
Idmsoft* dme;
CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER,__uuidof(Idmsoft), (LPVOID*)&dme);
간단한 호출 코드는 다음과 같습니다.
dme->KeyDown('A');
dme->MoveTo(100, 100);
3. MFC
1. App::InitInstance 함수는 다음과 같습니다.
WinExec("regsvr32.exe dm.dll /s", SW_HIDE);
CoInitialize(NULL);
2. App::ExitInstance 함수는 다음과 같습니다.
4
CoUninitialize();
3 대화 상자의 초기화 함수:4
CLSID clsid;
CLSIDFromProgID(OLESTR("dm.dmsoft"), &clsid);
CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER, __uuidof(Idmsoft), (LPVOID*)&dme);
4 대화 상자 클래스에 구성원 변수를 추가합니다.4
Idmsoft* dme;
5 호출 방법은 다음과 같다. dme->MoveTo(100, 100);
dme->LeftClick();
6. 자주 사용하는 순환 찾기, 색 찾기, 글자 찾기 함수는 다음과 같이 봉인한다.
BOOL findBmp(LPCSTR bmp, CPoint & pt, double timeout) {
VARIANT x, y;
time_t t_start, t_end;
time(&t_start);
while (true)
{
dme->FindPic(0,0,2000,2000,bmp,"000000",0.9,0,&x,&y);
if (x.intVal > 0 && y.intVal > 0) {
pt.x = x.intVal;
pt.y = y.intVal;
return TRUE;
}
//
time(&t_end);
if (timeout < difftime(t_end, t_start)) {
pt.x = 0;
pt.y = 0;
return FALSE;
}
Sleep(50);
}
}
BOOL findColor(LPCSTR color, CPoint & pt, double timeout) {
VARIANT x, y;
time_t t_start, t_end;
time(&t_start);
while (true)
{
dme->FindColor(0, 0, 2000, 2000, color, 0.9, 0, &x, &y);
if (x.intVal > 0 && y.intVal > 0) {
pt.x = x.intVal;
pt.y = y.intVal;
return TRUE;
}
//
time(&t_end);
if (timeout < difftime(t_end, t_start)) {
pt.x = 0;
pt.y = 0;
return FALSE;
}
Sleep(50);
}
}
BOOL findStr(LPCSTR str, LPCSTR color, CPoint & pt, double timeout) {
VARIANT x, y;
time_t t_start, t_end;
time(&t_start);
while (true)
{
dme->FindStr(0, 0, 2000, 2000, str, color, 0.9, &x, &y);
if (x.intVal > 0 && y.intVal > 0) {
pt.x = x.intVal;
pt.y = y.intVal;
return TRUE;
}
//
time(&t_end);
if (timeout < difftime(t_end, t_start)) {
pt.x = 0;
pt.y = 0;
return FALSE;
}
Sleep(50);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 음성 기본 형식실행 결과: sizeof(char)=1 sizeof(unsigned char)=1 sizeof(signed char)=1 sizeof(int)=4 sizeof(unsigned int)=4 sizeof(short)=2...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.