dll 로드 실패가 왜 뜨는건지 아시는분 있으신가요
유리
#SingleInstance force
#NoEnv
OnMessage(DllCall(RegisterWindowMessage, str, MOVNTQ), MBC_OnMessage)
Gui, Add, ListView, x5 y5 w340 h330, 시간 |메시지
; Generated using SmartGUI Creator 4.0
Gui, Show, w350 h340, MBC Cafe SIGNAL
Gui, submit, nohide
LOG(엠카신호 v0.1)
LOG(신호 온,오프 단축키는 NPF는 F1, XXNF는 F2 입니다.)
return
LOG(text)
{
Formattime, Time, , H:mm:ss
LV_ADD(, Time, text)
}
; MBCDLL에서 이벤트가 발생할 때 호출되는 함수
MBC_OnMessage(wParam, lParam)
{
; 신호에 반응한 경우, 오핫에서 엔터를 날리면 느리기 때문에
; 먼저 DLL에서 메이플 창에 엔터를 날려주고 나서 이 함수가 호출 됨.
; 여기서 상점이 펴졌는지 확인하고 템올리고상점펴기/재대기 등의 작업을 해주면 됨
;postmessage, 0x100, 8, 917505, , MapleStory
;postmessage, 0x101, 8, 917505, , MapleStory
;PostMessage, 0x100, 13, 1835009, , MapleStory
;PostMessage, 0x101, 13, 1835009, , MapleStory
if (wParam == 1) {
if lParam
LOG(신호시작 - XXNF)
else
LOG(신호시작 - NPF)
} else if (wParam == 2) {
if lParam
LOG(신호정지 - XXNF)
else
LOG(신호정지 - NPF)
} else if (wParam == 3) {
if lParam
LOG(일상반응 - XXNF)
else
LOG(일상반응 - NPF)
} else if (wParam == 4) {
if lParam
LOG(고상반응 - XXNF)
else
LOG(고상반응 - NPF)
}
}
MBC_InitTerm()
{
global MBCDLL, SignalGetMode, SignalSetMode
global NpfFindAllDevices, NpfGetDeviceCount, NpfGetDeviceInfo, NpfSetDevice, NpfStart, NpfStop, NpfGetState
global WsFindAllAddresses, WsGetAddressCount, WsGetAddressInfo, WsSetAddress, WsStart, WsStop, WsGetState
; DLL이 이미 로드된 경우라면 언로드
if (MBCDLL) {
DllCall(WsStop)
DllCall(NpfStopDevice)
DllCall(FreeLibrary, uint, MBCDLL)
MBCDLL = 0
return
}
; DLL 및 함수 포인터들 로드
if (MBCDLL := DllCall(LoadLibrary, str, MBC.dll)) {
SignalGetMode := DllCall(GetProcAddress, uint, MBCDLL, str, SignalGetMode)
SignalSetMode := DllCall(GetProcAddress, uint, MBCDLL, str, SignalSetMode)
; Winpcap NPF
NpfFindAllDevices := DllCall(GetProcAddress, uint, MBCDLL, str, NpfFindAllDevices)
NpfGetDeviceCount := DllCall(GetProcAddress, uint, MBCDLL, str, NpfGetDeviceCount)
NpfGetDeviceInfo := DllCall(GetProcAddress, uint, MBCDLL, str, NpfGetDeviceInfo)
NpfSetDevice := DllCall(GetProcAddress, uint, MBCDLL, str, NpfSetDevice)
NpfStart := DllCall(GetProcAddress, uint, MBCDLL, str, NpfStart)
NpfStop := DllCall(GetProcAddress, uint, MBCDLL, str, NpfStop)
NpfGetState := DllCall(GetProcAddress, uint, MBCDLL, str, NpfGetState)
; Winsock Promiscuous Mode
WsFindAllAddresses := DllCall(GetProcAddress, uint, MBCDLL, str, WsFindAllAddresses)
WsGetAddressCount := DllCall(GetProcAddress, uint, MBCDLL, str, WsGetAddressCount)
WsGetAddressInfo := DllCall(GetProcAddress, uint, MBCDLL, str, WsGetAddressInfo)
WsSetAddress := DllCall(GetProcAddress, uint, MBCDLL, str, WsSetAddress)
WsStart := DllCall(GetProcAddress, uint, MBCDLL, str, WsStart)
WsStop := DllCall(GetProcAddress, uint, MBCDLL, str, WsStop)
WsGetState := DllCall(GetProcAddress, uint, MBCDLL, str, WsGetState)
; NPF 어댑터 검색
count := DllCall(NpfFindAllDevices)
msg = NPF 어댑터 개수: %count%
LOG(msg)
loop %count% {
VarSetCapacity(deviceName, 64)
VarSetCapacity(deviceDesc, 256)
DllCall(NpfGetDeviceInfo, uint, a_index, str, deviceName, str, deviceDesc)
msg = [%a_index%] %deviceDesc%
LOG(msg)
}
; 신호를 받을 NPF 어댑터 설정.
; 가장 마지막 어댑터를 사용한다
; 이건 따로 GUI로 빼서 설정할 수 있게끔 해야됨
msg = 선택된 NPF 어댑터: %deviceDesc%
LOG(msg)
if (!DllCall(NpfSetDevice, str, deviceName))
msgbox NpfSetDevice 실패
; 신호를 받을 Winsock IP 주소 설정.
; 바인드 할 주소 검색
count := DllCall(WsFindAllAddresses)
msg = 바인드 IP 주소 개수: %count%
LOG(msg)
loop %count% {
VarSetCapacity(address, 16)
DllCall(WsGetAddressInfo, uint, a_index, str, address)
msg = [%a_index%] %address%
LOG(msg)
}
; 가장 마지막 어댑터를 사용한다
; 픫bsp;; 이건 따로 GUI로 빼서 설정할 수 있게끔 해야됨
msg = 선택된 IP 주소: %address%
LOG(msg)
if (!DllCall(WsSetAddress, str, address))
msgbox WsSetAddress 실패
} else
msgbox DLL 로드 실패
}
MBC_NPFOnOff()
{
global MBCDLL, NpfStart, NpfStop, NpfGetState, SignalSetMode
; 신호 DLL이 초기화 되어 있지 않다면 먼저 초기화 한다.
if (!MBCDLL)
MBC_InitTerm()
if (MBCDLL) {
; 신호 인식 모드 설정
; 0x1 = 일상반응
; 0x2 = 고상반응
; 0x3 = 일상반응 + 고상반응
DllCall(SignalSetMode, uint, 0x1 | 0x2)
; 신호 상태에 따라 시작/정지 함수 호출
if (!DllCall(NpfGetState)) {
if (!DllCall(NpfStart))
msgbox NpfStart 실패
} else
DllCall(NpfStop)
}
}
MBC_WSOnOff()
{
global MBCDLL, WsStart, WsStop, WsGetState, SignalSetMode
; 신호 DLL이 초기화 되어 있지 않다면 먼저 초기화 한다.
if (!MBCDLL)
MBC_InitTerm()
if (MBCDLL) {
; 신호 인식 모드 설정
; 0x1 = 일상반응
; 0x2 = 고상반응
; 0x3 = 일상반응 + 고상반응
DllCall(SignalSetMode, uint, 0x1 | 0x2)
; 신호 상태에 따라 시작/정지 함수 호출
if (!DllCall(WsGetState)) {
if (!DllCall(WsStart))
msgbox WsStart 실패
} else
DllCall(WsStop)
}
}
F1::
MBC_NPFOnOff()
return
F2::
MBC_WSOnOff()
return
F12::
Reload
return
GuiClose:
exitapp
1GuiClose:
Gui, 1:Destroy오토핫키 소스는 이렇구요
일단 파일 올려봅니다
어베스트로 파일검사했으니 바이러슨 없을거에요
도와주세요..ㅜ.ㅜ
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2654881 | PID 모듈 검색 부분 질문합니다 . | 이름없음 | 2024-05-14 |
2654850 | 조건에 만족하는 다음 수를 찾고 싶습니다. | 초엘 | 2024-05-14 |
2654790 | 두파일간 byte단위 txt파일 복사 中 | 슬찬 | 2024-05-14 |
2654768 | 사전만들기 입니다. | 여우By | 2024-05-13 |
2654716 | c언어 고수님들 답좀적어주세요 급합니다 ㅠㅠ | 한말글 | 2024-05-13 |
2654688 | c언어 ㅠㅠ 너 무 어려 워요 ㅠ 도와주세요!! | 별빛 | 2024-05-13 |
2654659 | 구구단 소스 궁금한 점 도움 부탁드립니다! (2) | 미련곰팅이 | 2024-05-12 |
2654633 | 오류가 무었인가요..? (2) | 단순랩퍼 | 2024-05-12 |
2654603 | 어디가 잘못된지를 모르겠습니다. 한 번 봐주세요...ㅠ (2) | 글고운 | 2024-05-12 |
2654574 | 소스 추가좀 부탁드립니다. (등수 출력) | 크리미걸 | 2024-05-12 |
2654550 | 피보나치수열. (3) | 중독적 | 2024-05-11 |
2654521 | c초보 빙고관련게임... | 달콤이 | 2024-05-11 |
2654491 | 10진수를 2진수로 바꾸는법 (8) | 아잉 | 2024-05-11 |
2654412 | 빅오를 구하고 싶어요~ | 애기 | 2024-05-10 |
2654381 | 혼자 연구하는 c/c++ 질문 | 아잉 | 2024-05-10 |
2654352 | 행렬크기를 scanf로 입력받을수도 있나요..? | VanilLa | 2024-05-10 |
2654293 | 첫시작값과 끝값의 사이에 존재하는 정수들의 합을 구하는 것 (5) | 해긴 | 2024-05-09 |
2654185 | 64bit 환경에서 자료형의 크기가 좀궁그해요(완료) 더궁금한게 생겻어요(추가) (2) | 빈길 | 2024-05-08 |
2654152 | 확장자 exe로 변경 (1) | 한 | 2024-05-08 |
2654128 | c언어 간단하게 자판기만들려는데 ㅜㅜ | 유1혹 | 2024-05-08 |