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오토핫키 소스는 이렇구요
일단 파일 올려봅니다
어베스트로 파일검사했으니 바이러슨 없을거에요
도와주세요..ㅜ.ㅜ
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2694370 | 내일까진데 함수호출 제발 도와주세요!!!!!!!!!11 | 들찬 | 2025-05-10 |
2694339 | putchar()의 괄호 안에 int c=10;로 전에 선언된 c를 넣으면 안되는 이유에서 제가 생각한 것이 그 이유가 되는지 확인하고 싶습니다. (3) | 미르 | 2025-05-10 |
2694316 | 이 코드 어디가 잘못되었는지 고수분들 ㅠㅠ (2) | 나빛 | 2025-05-10 |
2694285 | 언어 공부하는 과정 좀 추천해주세요! (1) | 아빠몬 | 2025-05-09 |
2694258 | 카운터.. 질문입니다. (4) | 하늘빛눈망울 | 2025-05-09 |
2694229 | 단순한 질문이요 (8) | 여름 | 2025-05-09 |
2694202 | 용돈을 가지고 할 수 있는 일을 여러가지로 출력하는 방법 좀 알려주세요! (2) | 미나 | 2025-05-09 |
2694145 | 화면깜빡임을 없애고 싶은데요... (1) | 어서와 | 2025-05-08 |
2694069 | unsigned 질문입니다. | 힘차 | 2025-05-07 |
2694012 | 전공 비전공자 개발자 (10) | 말글 | 2025-05-07 |
2693984 | 오버로딩이 무엇인가요? (2) | 헛매질 | 2025-05-07 |
2693956 | PlaySound재생이 안됩니다!(C에 음악넣기) | 지존 | 2025-05-06 |
2693928 | &와 *의 사용에 관한 명확한 이해 | 제나 | 2025-05-06 |
2693903 | 반복문 설명좀요 ㅠㅠ (2) | 란새 | 2025-05-06 |
2693869 | stdio.h 는 왜 쓰는건가요? (1) | 큰꽃들 | 2025-05-06 |
2693842 | 포인터 변수의 주소값끼리 더하는 것에 대해서 질문드립니다. (1) | 진솔 | 2025-05-05 |
2693811 | 소수 출력;;;; | 화이트캣 | 2025-05-05 |
2693788 | 이런 함수는 없나요? (3) | 앤드류 | 2025-05-05 |
2693758 | txt파일 불러와서 행렬로 저장 | 큰애 | 2025-05-05 |
2693727 | scanf 오류 문제!! (2) | 큰나래 | 2025-05-04 |