DragonBall Posted November 24, 2011 Share Posted November 24, 2011 I want to use autoit to control a latex editor "WinEdt 6". The Window has class: TMainForm, but it has several controls which have class: TMDIChild, TPanel, TToolBar. I would like _isPressed("1") (left mouse click) is used for TMDIChild only. Is this possible? Link to comment Share on other sites More sharing options...
guinness Posted November 24, 2011 Share Posted November 24, 2011 This might give you a better idea >> UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Malkey Posted November 25, 2011 Share Posted November 25, 2011 (edited) Try this example while running your "WinEdt 6". #include <Misc.au3> #include <WinAPI.au3> HotKeySet("{ESC}", "Terminate") While 1 If _IsPressed("01") Then $hCtrl = ControlGetHandle("", "", "") ; Gets handle of active control. While _IsPressed("01") ; This loop exists so that only ONE mouse key press is recorded. Sleep(10) WEnd ;If _WinAPI_GetClassName($hCtrl) == "TMDIChild" Then ; "==" For strings case sensitive comparison. ; or If _WinAPI_IsClassName($hCtrl, "TMDIChild") Then ; Appears to be case insensitive ; MsgBox(0, "", "Class is TMDIChild", 3) ; Else MsgBox(16, "", "Class is NOT TMDIChild", 3) EndIf EndIf Sleep(10) WEnd Func Terminate() Exit 0 EndFunc ;==>Terminate Edit: Added _WinAPI_IsClassName line. Edited November 25, 2011 by Malkey Link to comment Share on other sites More sharing options...
DragonBall Posted November 25, 2011 Author Share Posted November 25, 2011 @Malkey, Thank you, but it doesn't work well. If I clike where has class "TMDIChild", then when I click most part of WinEdt 6, it shows that it has class "TMDIChild" ( which is not true). But if I click somewhere outside the WinEdt 6 window, and click almost anywhere in WinEdt 6, it shows that the class is not "TMDIChild", unless I click where it has class "TMDIChild" ( which is expected). But then the situation become the first one, and so the script give the wrong result again.... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now