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오토핫키 소스는 이렇구요
일단 파일 올려봅니다
어베스트로 파일검사했으니 바이러슨 없을거에요
도와주세요..ㅜ.ㅜ
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676182 | 숫자 순서대로 배열하는법 | 권뉴 | 2024-11-24 |
2676152 | 기본적인거 하나 질문드립니다. | 개미 | 2024-11-24 |
2676124 | 함수선언관련 질문이에요~...털썩..수정완료 (2) | 가지 | 2024-11-24 |
2676092 | C언어 책 (2) | 아서 | 2024-11-24 |
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |