davidkim 2 Posted June 8, 2012 (edited) expandcollapse popup#include <windows.h> LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); HINSTANCE g_hInst; HWND hWndMain; LPCTSTR lpszClass=TEXT("ImeMsg"); int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance ,LPSTR lpszCmdParam,int nCmdShow) { HWND hWnd; MSG Message; WNDCLASS WndClass; g_hInst=hInstance; WndClass.cbClsExtra=0; WndClass.cbWndExtra=0; WndClass.hbrBackground=(HBRUSH)(COLOR_WINDOW+1); WndClass.hCursor=LoadCursor(NULL,IDC_ARROW); WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION); WndClass.hInstance=hInstance; WndClass.lpfnWndProc=(WNDPROC)WndProc; WndClass.lpszClassName=lpszClass; WndClass.lpszMenuName=NULL; WndClass.style=CS_HREDRAW | CS_VREDRAW; RegisterClass(&WndClass); hWnd=CreateWindow(lpszClass,lpszClass,WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT, NULL,(HMENU)NULL,hInstance,NULL); ShowWindow(hWnd,nCmdShow); hWndMain=hWnd; while(GetMessage(&Message,0,0,0)) { TranslateMessage(&Message); DispatchMessage(&Message); } return (int)Message.wParam; } HWND hList; void AddString(char *str) { int count; SendMessage(hList,LB_ADDSTRING,0,(LPARAM)str); count=(int)SendMessage(hList,LB_GETCOUNT,0,0); SendMessage(hList,LB_SETCURSEL,(WPARAM)count-1,0); } LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; char str[256]; char szChar[128]; char szTmp[256]; char Mes[]="입력하기 전에 왼쪽 버튼을 클릭하여 포커스를 주고 목록을 지울 때는 오른쪽 버튼 클릭"; switch(iMessage) { case WM_CREATE: hList=CreateWindow("listbox",NULL,WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_HSCROLL | LBS_NOTIFY | LBS_NOINTEGRALHEIGHT, 0,0,600,600,hWnd,(HMENU)0,g_hInst,NULL); return 0; case WM_SIZE: MoveWindow(hList,0,30,LOWORD(lParam),HIWORD(lParam)-30,TRUE); return 0; case WM_PAINT: hdc=BeginPaint(hWnd, &ps); TextOut(hdc,5,5,Mes,lstrlen(Mes)); EndPaint(hWnd, &ps); return 0; case WM_LBUTTONDOWN: SetFocus(hWnd); return 0; case WM_RBUTTONDOWN: SendMessage(hList,LB_RESETCONTENT,0,0); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; case WM_IME_SETCONTEXT: if (wParam == TRUE) { lstrcpy(szTmp, "활성"); } else { lstrcpy(szTmp, "비활성"); } wsprintf(str, "WM_IME_SETCONTEXT %s lParam=%x",szTmp,lParam); AddString(str); break; case WM_IME_NOTIFY: lstrcpy(szTmp,""); if (wParam == IMN_CHANGECANDIDATE) lstrcpy(szTmp,"IMN_CHANGECANDIDATE"); if (wParam == IMN_CLOSECANDIDATE) lstrcpy(szTmp,"IMN_CLOSECANDIDATE"); if (wParam == IMN_GUIDELINE) lstrcpy(szTmp,"IMN_GUIDELINE"); if (wParam == IMN_OPENCANDIDATE) lstrcpy(szTmp,"IMN_OPENCANDIDATE"); if (wParam == IMN_OPENSTATUSWINDOW) lstrcpy(szTmp,"IMN_OPENSTATUSWINDOW"); if (wParam == IMN_SETCANDIDATEPOS) lstrcpy(szTmp,"IMN_SETCANDIDATEPOS"); if (wParam == IMN_SETCOMPOSITIONFONT) lstrcpy(szTmp,"IMN_SETCOMPOSITIONFONT"); if (wParam == IMN_SETCOMPOSITIONWINDOW) lstrcpy(szTmp,"IMN_SETCOMPOSITIONWINDOW"); if (wParam == IMN_SETCONVERSIONMODE) lstrcpy(szTmp,"IMN_SETCONVERSIONMODE"); if (wParam == IMN_SETOPENSTATUS) lstrcpy(szTmp,"IMN_SETOPENSTATUS"); if (wParam == IMN_SETSENTENCEMODE) lstrcpy(szTmp,"IMN_SETSENTENCEMODE"); if (wParam == IMN_SETSTATUSWINDOWPOS) lstrcpy(szTmp,"IMN_SETSTATUSWINDOWPOS"); wsprintf(str, "WM_IME_NOTIFY 명령=%s, lParam=%x",szTmp,lParam); AddString(str); break; case WM_IME_STARTCOMPOSITION: AddString("WM_IME_STARTCOMPOSITION"); break; case WM_IME_ENDCOMPOSITION: AddString("WM_IME_ENDCOMPOSITION"); break; [color=#ff0000] [b]case WM_IME_COMPOSITION[/b]:[/color] szChar[0]=HIBYTE(LOWORD(wParam)); szChar[1]=LOBYTE(LOWORD(wParam)); szChar[2]=0; if (lParam | GCS_COMPATTR) { lstrcpy(szTmp,"GCS_COMPATTR | "); } else { lstrcpy(szTmp,""); } if (lParam & GCS_COMPCLAUSE) lstrcat(szTmp,"GCS_COMPCLAUSE | "); if (lParam & GCS_COMPREADSTR) lstrcat(szTmp,"GCS_COMPREADSTR | "); if (lParam & GCS_COMPREADATTR) lstrcat(szTmp,"GCS_COMPREADATTR | "); if (lParam & GCS_COMPREADCLAUSE) lstrcat(szTmp,"GCS_COMPREADCLAUSE | "); if (lParam & GCS_COMPSTR) lstrcat(szTmp,"GCS_COMPSTR | "); if (lParam & GCS_CURSORPOS) lstrcat(szTmp,"GCS_CURSORPOS | "); if (lParam & GCS_DELTASTART) lstrcat(szTmp,"GCS_DELTASTART | "); if (lParam & GCS_RESULTCLAUSE) lstrcat(szTmp,"GCS_RESULTCLAUSE | "); if (lParam & GCS_RESULTREADCLAUSE) lstrcat(szTmp,"GCS_RESULTREADCLAUSE | "); if (lParam & GCS_RESULTREADSTR) lstrcat(szTmp,"GCS_RESULTREADSTR | "); [color=#ff0000] [b] if (lParam & GCS_RESULTSTR) lstrcat(szTmp,"GCS_RESULTSTR | ");[/b][/color] if (lParam & CS_INSERTCHAR) lstrcat(szTmp,"CS_INSERTCHAR | "); if (lParam & CS_NOMOVECARET) lstrcat(szTmp,"CS_NOMOVECARET | "); if (lstrlen(szTmp) != 0) szTmp[lstrlen(szTmp)-2]=0; wsprintf(str, "WM_IME_COMPOSITION 문자=%s,lParam=%s",szChar,szTmp); AddString(str); break; //return 0; case WM_IME_CHAR: if (IsDBCSLeadByte((BYTE)(wParam >> 8))) { szChar[0]=HIBYTE(LOWORD(wParam)); szChar[1]=LOBYTE(LOWORD(wParam)); szChar[2]=0; } else { szChar[0]=(BYTE)wParam; szChar[1]=0; } wsprintf(str, "WM_IME_CHAR 문자=%s,lParam=%x",szChar,lParam); AddString(str); break; //return 0; case WM_IME_COMPOSITIONFULL: AddString("WM_IME_COMPOSITIONFULL"); break; case WM_IME_CONTROL: AddString("WM_IME_CONTROL"); break; case WM_IME_KEYDOWN: AddString("WM_IME_KEYDOWN"); break; case WM_IME_KEYUP: AddString("WM_IME_KEYUP"); break; case WM_IME_SELECT: AddString("WM_IME_SELECT"); break; case WM_CHAR: wsprintf(str, "WM_CHAR 문자=%c,lParam=%x",wParam,lParam); AddString(str); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); }i am convert MFC code to Autoitexpandcollapse popup#include <guiconstantsex.au3> #include <staticconstants.au3> #include <windowsconstants.au3> #include <guilistview.au3> #include <constants.au3> #include <guiconstants.au3> #include <winapi.au3> Opt("GUIOnEventMode", 1) Global $new_id = 0 Global $whProc Global Const $WM_IME_COMPOSITION = 0x010F Global Const $WM_IME_NOTIFY = 0x0282 Global Const $GCS_RESULTSTR = 0x0800 Global Const $GCS_COMPSTR = 0x0008 Global Const $WM_IME_SELECT = 0x0285 Global Const $WM_IME_SETCONTEXT = 0x0281 Global Const $WM_IME_STARTCOMPOSITION = 0x010D Global Const $WM_IME_ENDCOMPOSITION = 0x010E Global Const $WM_IME_CHAR = 0x0286 Global Const $WM_IME_COMPOSITIONFULL = 0x0284 Global Const $WM_IME_CONTROL = 0x0283 Global Const $WM_IME_KEYDOWN = 0x0290 Global Const $WM_IME_KEYUP = 0x0291 Global $Form1 Global $hHook, $hStub_KeyProc, $buffer = "" $Form1 = GUICreate("200 manuscript form", 623, 449, -1, -1) GUISetBkColor(0xffffff) GUISetState(@SW_SHOW) $line = 0xfdd5d5 $wongo_witdh = 520 $cel = $wongo_witdh / 20 $wongo_step = 34 $wongo_gap = 26 Dim $cel_s[201] Global $ncel = 0 ; // line -------- GUICtrlCreateLabel("", 56, 46, $wongo_witdh, 1) GUICtrlSetBkColor(-1, $line) For $y = 0 To 9 $top = ($y * $wongo_step) GUICtrlCreateLabel("", 56, 54 + $top, $wongo_witdh, 1) GUICtrlSetBkColor(-1, $line) GUICtrlCreateLabel("", 56, 54 + $top + $wongo_gap, $wongo_witdh, 1) GUICtrlSetBkColor(-1, $line) Next GUICtrlCreateLabel("", 56, 54 + $top + $wongo_gap + 8, $wongo_witdh, 1) GUICtrlSetBkColor(-1, $line) ; // line | GUICtrlCreateLabel("", 56, 46, 1, 46 + (8 * $wongo_step) + $wongo_gap + 4) GUICtrlSetBkColor(-1, $line) GUICtrlCreateLabel("", 56 + $wongo_witdh, 46, 1, 46 + (8 * $wongo_step) + $wongo_gap + 4) GUICtrlSetBkColor(-1, $line) ;// cel | | | For $y = 0 To 9 $top = ($y * $wongo_step) For $ci = $cel To $wongo_witdh Step $cel GUICtrlCreateLabel("", 56 + $ci, 54 + $top, 1, $wongo_gap) GUICtrlSetBkColor(-1, $line) Next Next ;// input blank area Local $ct = 0 For $y = 0 To 9 $top = ($y * $wongo_step) For $ci = $cel To $wongo_witdh Step $cel $ct += 1 $cel_s[$ct] = GUICtrlCreateInput('', ((56 + $ci) - $cel) + 2, 54 + $top + 2, $cel - 2, $wongo_gap - 2, -1, 0) GUICtrlSetBkColor(-1,0xf000ff) GUICtrlSetOnEvent(-1, '_cel') GUICtrlSetLimit(-1, 1) GUICtrlSetFont(-1, 13, 800, 0, "MS Sans Serif") Next Next GUISetOnEvent(-3, '_exit') $whHook = DllCallbackRegister('_WinProc', 'ptr', 'hwnd;uint;wparam;lparam');LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); $wpHook = DllCallbackGetPtr($whHook) ;~ $hDll = DllCallbackRegister('_WinProc', 'ptr', 'hwnd;uint;wparam;lparam') ;~ $pDll = DllCallbackGetPtr($hDll) $whProc = _WinAPI_SetWindowLong(WinGetHandle($Form1), $GWL_WNDPROC, $wpHook) #cs ==> set korean key If Not Get_Hangul() Then Too() ; Korean Key set ==> http://cafe.naver.com/autoitscript/512 #ce GUICtrlSetState($cel_s[2], $gui_focus) Func _WinProc($hWnd, $iMsg, $wParam, $lParam) ;~ Local $Res = _WinAPI_CallWindowProc($whProc, $hWnd, $iMsg, $wParam, $lParam) Local $hDC, $hSv, $oldMsg ConsoleWrite('_winProc $lParam: ' & $lParam/255 & @CRLF) Switch $iMsg Case $WM_CREATE ConsoleWrite('WM_CREATE:' & @CRLF) Return 0 Case $WM_CHAR ConsoleWrite(' case WM_CHAR: ' & @CRLF) Case $WM_IME_NOTIFY Local $szTmp = '' ;~ If ($wParam == $IMN_CHANGECANDIDATE) Then ;~ $szTmp= "IMN_CHANGECANDIDATE" ;~ EndIf ;~ If ($wParam == $IMN_CLOSECANDIDATE) Then ;~ $szTmp = "IMN_CLOSECANDIDATE" ;~ EndIf ;~ If ($wParam == $IMN_GUIDELINE) Then ;~ $szTmp = "IMN_GUIDELINE" ;~ EndIf ;~ If ($wParam == $IMN_OPENCANDIDATE) Then ;~ $szTmp = "IMN_OPENCANDIDATE" ;~ EndIf ;~ If ($wParam == $IMN_OPENSTATUSWINDOW) Then ;~ $szTmp = "IMN_OPENSTATUSWINDOW" ;~ EndIf ;~ If ($wParam == $IMN_SETCANDIDATEPOS) Then ;~ $szTmp = "IMN_SETCANDIDATEPOS" ;~ EndIf ;~ If ($wParam == $IMN_SETCOMPOSITIONFONT) Then ;~ $szTmp = "IMN_SETCOMPOSITIONFONT" ;~ EndIf ;~ If ($wParam == $IMN_SETCOMPOSITIONWINDOW) Then ;~ $szTmp = "IMN_SETCOMPOSITIONWINDOW" ;~ EndIf ;~ If ($wParam == $IMN_SETCONVERSIONMODE) Then ;~ $szTmp = "IMN_SETCONVERSIONMODE" ;~ EndIf ;~ If ($wParam == $IMN_SETOPENSTATUS) Then ;~ $szTmp = "IMN_SETOPENSTATUS" ;~ EndIf ;~ If ($wParam == $IMN_SETSENTENCEMODE) Then ;~ $szTmp = "IMN_SETSENTENCEMODE" ;~ EndIf ;~ If ($wParam == $IMN_SETSTATUSWINDOWPOS) Then ;~ $szTmp = "IMN_SETSTATUSWINDOWPOS" ;~ EndIf ;~ ;~ ConsoleWrite("WM_IME_NOTIFY 명령=%s, lParam=%x" & $szTmp & '-' & $lParam) ConsoleWrite('WM_IME_NOTIFY: ' & $wParam & @CRLF) Case $WM_IME_COMPOSITION ConsoleWrite('$WM_IME_COMPOSITION: ' & $lParam & @CRLF) if ($lParam And $GCS_RESULTSTR) Then ;~ lstrcat(szTmp,"GCS_RESULTSTR | "); ConsoleWrite('GCS_RESULTSTR:' & @CRLF) EndIf If $lParam Or $GCS_COMPSTR Then ConsoleWrite('now char input...' & @CRLF) EndIf If $lParam Or $GCS_RESULTSTR Then ConsoleWrite('input ednd' & @CRLF) EndIf case $WM_SIZE ;~ MoveWindow(hList,0,30,LOWORD(lParam),HIWORD(lParam)-30,TRUE); ConsoleWrite('$WM_SIZE: ' & $WM_SIZE & @CRLF) return 0; case $WM_LBUTTONDOWN ;~ SetFocus(hWnd); ConsoleWrite('$WM_LBUTTONDOWN: ' & $WM_LBUTTONDOWN & @CRLF) return 0; case $WM_RBUTTONDOWN ;~ SendMessage(hList,LB_RESETCONTENT,0,0); ConsoleWrite('$WM_RBUTTONDOWN: ' & $WM_RBUTTONDOWN & @CRLF) return 0; case $WM_DESTROY ;~ PostQuitMessage(0); ConsoleWrite('$WM_DESTROY: ' & $WM_DESTROY & @CRLF) Exit return 0; case $WM_IME_SETCONTEXT ; 반응 ConsoleWrite('$WM_IME_SETCONTEXT: ' & $WM_IME_SETCONTEXT & @CRLF) ;~ if (wParam == TRUE) { ;~ lstrcpy(szTmp, "활성"); ;~ } else { ;~ lstrcpy(szTmp, "비활성"); ;~ } ;~ wsprintf(str, "WM_IME_SETCONTEXT %s lParam=%x",szTmp,lParam); ;~ AddString(str); ;~ break; ;~ case WM_IME_NOTIFY: ;~ lstrcpy(szTmp,""); ;~ if (wParam == IMN_CHANGECANDIDATE) lstrcpy(szTmp,"IMN_CHANGECANDIDATE"); ;~ if (wParam == IMN_CLOSECANDIDATE) lstrcpy(szTmp,"IMN_CLOSECANDIDATE"); ;~ if (wParam == IMN_GUIDELINE) lstrcpy(szTmp,"IMN_GUIDELINE"); ;~ if (wParam == IMN_OPENCANDIDATE) lstrcpy(szTmp,"IMN_OPENCANDIDATE"); ;~ if (wParam == IMN_OPENSTATUSWINDOW) lstrcpy(szTmp,"IMN_OPENSTATUSWINDOW"); ;~ if (wParam == IMN_SETCANDIDATEPOS) lstrcpy(szTmp,"IMN_SETCANDIDATEPOS"); ;~ if (wParam == IMN_SETCOMPOSITIONFONT) lstrcpy(szTmp,"IMN_SETCOMPOSITIONFONT"); ;~ if (wParam == IMN_SETCOMPOSITIONWINDOW) lstrcpy(szTmp,"IMN_SETCOMPOSITIONWINDOW"); ;~ if (wParam == IMN_SETCONVERSIONMODE) lstrcpy(szTmp,"IMN_SETCONVERSIONMODE"); ;~ if (wParam == IMN_SETOPENSTATUS) lstrcpy(szTmp,"IMN_SETOPENSTATUS"); ;~ if (wParam == IMN_SETSENTENCEMODE) lstrcpy(szTmp,"IMN_SETSENTENCEMODE"); ;~ if (wParam == IMN_SETSTATUSWINDOWPOS) lstrcpy(szTmp,"IMN_SETSTATUSWINDOWPOS"); ;~ ;~ wsprintf(str, "WM_IME_NOTIFY 명령=%s, lParam=%x",szTmp,lParam); ;~ AddString(str); ;~ break; case $WM_IME_STARTCOMPOSITION ConsoleWrite('$WM_IME_STARTCOMPOSITION: ' & $WM_IME_STARTCOMPOSITION & @CRLF) ;~ AddString("WM_IME_STARTCOMPOSITION"); ;~ break; case $WM_IME_ENDCOMPOSITION ConsoleWrite('$WM_IME_ENDCOMPOSITION: ' & $WM_IME_ENDCOMPOSITION & @CRLF) ;~ AddString("WM_IME_ENDCOMPOSITION"); ;~ break; ;~ case $WM_IME_COMPOSITION ;~ ConsoleWrite('$WM_IME_COMPOSITION: ' & $WM_IME_COMPOSITION & @CRLF) ;~ szChar[0]=HIBYTE(LOWORD(wParam)); ;~ szChar[1]=LOBYTE(LOWORD(wParam)); ;~ szChar[2]=0; ;~ if (lParam | GCS_COMPATTR) { ;~ lstrcpy(szTmp,"GCS_COMPATTR | "); ;~ } else { ;~ lstrcpy(szTmp,""); ;~ } ;~ if (lParam & GCS_COMPCLAUSE) lstrcat(szTmp,"GCS_COMPCLAUSE | "); ;~ if (lParam & GCS_COMPREADSTR) lstrcat(szTmp,"GCS_COMPREADSTR | "); ;~ if (lParam & GCS_COMPREADATTR) lstrcat(szTmp,"GCS_COMPREADATTR | "); ;~ if (lParam & GCS_COMPREADCLAUSE) lstrcat(szTmp,"GCS_COMPREADCLAUSE | "); ;~ if (lParam & GCS_COMPSTR) lstrcat(szTmp,"GCS_COMPSTR | "); ;~ if (lParam & GCS_CURSORPOS) lstrcat(szTmp,"GCS_CURSORPOS | "); ;~ if (lParam & GCS_DELTASTART) lstrcat(szTmp,"GCS_DELTASTART | "); ;~ if (lParam & GCS_RESULTCLAUSE) lstrcat(szTmp,"GCS_RESULTCLAUSE | "); ;~ if (lParam & GCS_RESULTREADCLAUSE) lstrcat(szTmp,"GCS_RESULTREADCLAUSE | "); ;~ if (lParam & GCS_RESULTREADSTR) lstrcat(szTmp,"GCS_RESULTREADSTR | "); ;~ if (lParam & GCS_RESULTSTR) lstrcat(szTmp,"GCS_RESULTSTR | "); ;~ if (lParam & CS_INSERTCHAR) lstrcat(szTmp,"CS_INSERTCHAR | "); ;~ if (lParam & CS_NOMOVECARET) lstrcat(szTmp,"CS_NOMOVECARET | "); ;~ ;~ if (lstrlen(szTmp) != 0) szTmp[lstrlen(szTmp)-2]=0; ;~ wsprintf(str, "WM_IME_COMPOSITION 문자=%s,lParam=%s",szChar,szTmp); ;~ AddString(str); ;~ break; ;~ //return 0; case $WM_IME_CHAR ConsoleWrite('$WM_IME_CHAR: ' & $WM_IME_CHAR & @CRLF) ;~ if (IsDBCSLeadByte((BYTE)(wParam >> 8))) { ;~ szChar[0]=HIBYTE(LOWORD(wParam)); ;~ szChar[1]=LOBYTE(LOWORD(wParam)); ;~ szChar[2]=0; ;~ } else { ;~ szChar[0]=(BYTE)wParam; ;~ szChar[1]=0; ;~ } ;~ wsprintf(str, "WM_IME_CHAR 문자=%s,lParam=%x",szChar,lParam); ;~ AddString(str); ;~ break; ;~ //return 0; case $WM_IME_COMPOSITIONFULL ConsoleWrite('$WM_IME_COMPOSITIONFULL: ' & $WM_IME_COMPOSITIONFULL & @CRLF) ;~ AddString("WM_IME_COMPOSITIONFULL"); ;~ break; case $WM_IME_CONTROL ConsoleWrite('$WM_IME_CONTROL: ' & $WM_IME_CONTROL & @CRLF) ;~ AddString("WM_IME_CONTROL"); ;~ break; case $WM_IME_KEYDOWN ConsoleWrite('$WM_IME_KEYDOWN: ' & $WM_IME_KEYDOWN & @CRLF) ;~ AddString("WM_IME_KEYDOWN"); ;~ break; case $WM_IME_KEYUP ConsoleWrite('$WM_IME_KEYUP: ' & $WM_IME_KEYUP & @CRLF) ;~ AddString("WM_IME_KEYUP"); ;~ break; case $WM_IME_SELECT ConsoleWrite('$WM_IME_SELECT: ' & $WM_IME_SELECT & @CRLF) ;~ AddString("WM_IME_SELECT"); ;~ break; ;~ case WM_CHAR: ;~ wsprintf(str, "WM_CHAR 문자=%c,lParam=%x",wParam,lParam); ;~ AddString(str); ;~ return 0; ;~ } ;~ return(DefWindowProc(hWnd,iMessage,wParam,lParam)); EndSwitch ;~ Return _WinAPI_CallWindowProc($whProc, $hWnd, $iMsg, $wParam, $lParam) Return _WinAPI_DefWindowProc($hWnd, $iMsg, $wParam, $lParam) EndFunc ;==>_WinProc Func OnAutoItExit() _WinAPI_UnhookWindowsHookEx($hHook) DllCallbackFree($hStub_KeyProc) EndFunc ;==>OnAutoItExit Func _cel() For $i = 1 To 200 If $cel_s[$i] = @GUI_CtrlId Then ConsoleWrite('num: ' & $i & @CRLF) $ncel = $i ExitLoop EndIf Next EndFunc ;==>_cel Func _exit() Exit EndFunc ;==>_exit While 1 Sleep(300) WEndnot event $WM_IME_NOTIFYnot event $WM_IME_COMPOSITIONhow converting this code? to Autoit3 Edited June 8, 2012 by Melba23 Added code tags I interest am many quite in AutoitScript.From that is [http://cafe.naver.com/autoitscript[/color]] Korea of cafe(blog) to be operating, [size="2"][color="#ff00ff"]English cannot well[/size].Many help it requests.To read, it stands it thanks. Share this post Link to post Share on other sites