Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

형관봇

[C#] API 사용시 강제 이벤트 전송 본문

C#.NET

[C#] API 사용시 강제 이벤트 전송

최강도어 2017. 4. 26. 13:26

내가 만든 프로그램이 아닌, 다른 API를 이용한 프로그램 개발시 강제 이벤트 전송방법입니다.

( FindWindow, DllImport, user32.dll, SendMessage )


매일 특정시간이 되면 실행되는 증권API 프로그램의 공지사항창 때문에,


프로그램이 정상기동이 안되는 현상을 상황설정하여, 설명 드리겠습니다.



[ 대우증권 API 기동 ]



해당 AniLink의 알림사항을 닫아야지만, API 기동이 시작됩니다.


하여, 닫기버튼의 마우스 클릭 이벤트를 강제로 전송 시키겠습니다.


[ 소스코드 ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[DllImport("user32.dll")]
public static extern int FindWindow(string IpClassName, string IpWindowName);
 
[DllImport("user32.dll")]
public static extern int FindWindowEx(int hWnd1, int hWnd2, string Ipsz1, string Ipsz2);
 
[DllImport("user32.dll")]
public static extern int SendMessage(int hwnd, int wMsg, int wParam, int IParam);
 
const int WM_LBUTTONDOWN = 0x0201;
const int WM_LBUTTONUP = 0x0202;
const int BM_CLICK = 0x00F5;
 
int nhwnd = FindWindow(null"AnyLink 알림사항");
 
if(nhwnd > 0)
{
    int hw1 = FindWindowEx(nhwnd, 0"Button""닫  기");
               
    if(hw1 > 0)
    {
        SendMessage(hw1, BM_CLICK, 01);
    }
}
cs


간단한 소스코드 이기때문에, 보시면 바로 이해하실 것 같습니다.


이 코드를 활용하면, 다른 상황에도 활용할 수 있을 것 같습니다.


'C#.NET' 카테고리의 다른 글

[C#] 트위터 형태소 분석기(Twitter-Korean) #1  (0) 2017.03.20
Comments