Shaggi Posted June 18, 2011 Share Posted June 18, 2011 (edited) Hello.I have been working on this UDF which implements the following features:Call any function in any process, including your own - see DllCallEx.Runtime linking features using GetRemoteModuleHandle and GetRemoteProcAddress.The UDF has reached a state where i would like others input, maybe some on design and such.Supports:stdcall and fastcallreference passingaddress-of passingstatic arrays when used with byte*, char* and wchar*Current functions:ProcCallProcCallbackRegisterProcCallbackProcCallbackFreeGetRemoteModuleHandleGetRemoteModuleListOpenProcessGetRemoteProcAddressDllCallExIdeaThe goal of the UDF was mainly proof-of-concept, extended debugging abilities, learning by doing and enhanced inter process communication.How does it work?It evaluates the arguments and assembles a small thread, which pushes the arguments and returns. Really it just automates the process.SyntaxAll the function use DllCall() style. Read documentation.ExamplesA set of basic examples is included.NotesThis is in an early alpha state, which means that if you want to use this you should have a good idea about how calling conventions work, understand the relation between types and values, and a basic understanding of pointers. If you don't, you'll most likely end up crashing either your or the target process. Only x86 is supported.Be aware that no in-depth type checking is done, so it's assumed you know what you are doing To be implementedProcCall returning an array of parameters and return values like DllCall()x64 SupportBetter documentationBulletproof return code.cdecl support.Changelog07-08 '11 Fixed a bug with global deallocations associated with callbacks.Callbacks, if return type is void, will not wait for the thread to return (parallel to Run() and RunWait()).Added GetRemoteModuleList().Rewrote GetRemoteModuleHandle.Added an extra param in OpenProcess() and made it public.Added more errors and better descriptions.. imo.Optimized DllCallEx().22-06 '11 Fixed a bug when using fastcall convention that would crash the script.Lmk what you guys think about this e: aaaand attaching the file lol.ProcCall.zip Edited August 7, 2011 by Shaggi FaridAgl 1 Ever wanted to call functions in another process? ProcessCall UDFConsole stuff: Console UDFC Preprocessor for AutoIt OMG Link to comment Share on other sites More sharing options...
E1M1 Posted June 18, 2011 Share Posted June 18, 2011 This UDF should proove all AutoIt haters that C++ isn't only _real_ language. edited Link to comment Share on other sites More sharing options...
Shaggi Posted June 22, 2011 Author Share Posted June 22, 2011 This UDF should proove all AutoIt haters that C++ isn't only _real_ language. Perhaps New version with a small bug fix uploaded. Ever wanted to call functions in another process? ProcessCall UDFConsole stuff: Console UDFC Preprocessor for AutoIt OMG Link to comment Share on other sites More sharing options...
MrCreatoR Posted June 29, 2011 Share Posted June 29, 2011 Can this be used to call so called commands in external process? If to be more specific, it's in Opera browser, it's supporting commands in his interface (from hotkeys or menu items/toolbar buttons), and i want to call these commands (functions?) from autoit script, is that possible?  Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1  AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ==================================================    AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
smashly Posted July 1, 2011 Share Posted July 1, 2011 (edited) Hi, thanks for sharing.I was only asking in the Help section last week on how to do such a thing while working with wnaspi32.dll.LoadLibrary -> GetProcessAddress -> Call Process.Once I got to the Call Process function in AutoIt I didn't have a clue where to start.1 week later and you post a whole udf of what I wanted to know, I feel special Look forward to poking through your code. Cheers Edited July 1, 2011 by smashly Link to comment Share on other sites More sharing options...
E1M1 Posted July 1, 2011 Share Posted July 1, 2011 (edited) @MrCreatoR yes possible all you need to do is find out address and parameters. Knowing little asm would help you but you might have to mess with olly dbg or ida or cheat engine to find out addresses you want to call. For example If you know what is the address of function that sets volume for vlc media player you can make autoit script that sets it with out sending any keystokes/mouseclicks to it. Edited July 1, 2011 by E1M1 edited Link to comment Share on other sites More sharing options...
MrCreatoR Posted July 1, 2011 Share Posted July 1, 2011 @MrCreatoR yes possible all you need to do is find out address and parameters. Knowing little asm would help you but you might have to mess with olly dbg or ida or cheat engine to find out addresses you want to call.Thank you for replying.But unfortunaly i don't know asm, and i have no idea how to get these addresses  Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1  AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ==================================================    AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
E1M1 Posted July 2, 2011 Share Posted July 2, 2011 I could help you with addresses (I still dont know how to find out arguments count and types) but do you know what argument your function takes? or how many arguments. If you use wrong type or wrong number of args or wrong call (stdcall or fastcall) then your app will crash, which means you would have to spend day for experimenting with different calls. edited Link to comment Share on other sites More sharing options...
MrCreatoR Posted July 2, 2011 Share Posted July 2, 2011 do you know what argument your function takes?I am not sure that i know what functions are called, because it's user commands, used from menu, for example: Item, "Visit autoitscript.com" = Go to page, "http://www.autoitscript.com" here the Go to page is one command (there is many, i can provide the whole list that Opera supports), and the page address is the argument for this command. I hoped that we could do something like that (changed example of DllCallEx): #include "..\..\ProcessCall.au3" ;Example 2 - Calling a function from address $Pointer = _GetProcAddress(_WinApi_GetModuleHandle("C:\Opera\Opera.dll"), "GoToPage") ;Now we call the command from its address in memory $iRet = DllCallEx($Pointer, "int", "hwnd", 0, "char*", "http://autoitscript.com", "int", 0, "int", 0) ConsoleWrite($iRet & @CRLF) But it's crashed with memory access error message .  Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1  AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ==================================================    AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
E1M1 Posted July 2, 2011 Share Posted July 2, 2011 (edited) There are 2 methods to get address. See if _GetProcAddress is valid address. compare it's return value with what you get from cheat enginge or from olly dbg. Method 1 you could try downloading http://www.heijnen1.demon.nl/CheatEngine61.exe Open opera by clicking on that computer icon on left top. Then click on memory view. Then in new window that pops up select View > Ennumerate DLL's and symbols. And you should have window that shows you all dlls attached to opera Method 2 download http://www.ollydbg.de/odbg110.zip Run OLLYDBG.exe with admin rights. From filemenu click attach. From new window select opera.exe. click attach. After that you see window displays you asm. in this window press ALT + E. "This pops up Executable Modules" window. Right click on dll you are interested in. from menu choose View Names. Also note that DllCallEx cals dll from your script but you want to call it from opera.exe so you need ProcCall instead. Shaggi might know this better, but I haven't seen him around. Hopefully I can help too. Edited July 2, 2011 by E1M1 edited Link to comment Share on other sites More sharing options...
Shaggi Posted July 3, 2011 Author Share Posted July 3, 2011 (edited) Can this be used to call so called commands in external process? If to be more specific, it's in Opera browser, it's supporting commands in his interface (from hotkeys or menu items/toolbar buttons), and i want to call these commands (functions?) from autoit script, is that possible? Indeed it is, but it would definately be better to send a message instead of calling the raw functions, many programs have critical code inside their window procedure. Look up _SendMessage or PostMessage. Hi, thanks for sharing. I was only asking in the Help section last week on how to do such a thing while working with wnaspi32.dll. LoadLibrary -> GetProcessAddress -> Call Process. Once I got to the Call Process function in AutoIt I didn't have a clue where to start. 1 week later and you post a whole udf of what I wanted to know, I feel special Look forward to poking through your code. Cheers Guess it's your lucky day Feel free to post if you have any questions. I am not sure that i know what functions are called, because it's user commands, used from menu, for example: Item, "Visit autoitscript.com" = Go to page, "http://www.autoitscript.com" here the Go to page is one command (there is many, i can provide the whole list that Opera supports), and the page address is the argument for this command. I hoped that we could do something like that (changed example of DllCallEx): #include "..\..\ProcessCall.au3" ;Example 2 - Calling a function from address $Pointer = _GetProcAddress(_WinApi_GetModuleHandle("C:\Opera\Opera.dll"), "GoToPage") ;Now we call the command from its address in memory $iRet = DllCallEx($Pointer, "int", "hwnd", 0, "char*", "http://autoitscript.com", "int", 0, "int", 0) ConsoleWrite($iRet & @CRLF) But it's crashed with memory access error message . Go with the sendmessage method instead. There are several faults in your script. Firstly, you need to use GetRemoteProcAddress, because _GetProcAddress and _GetModuleHandle only works in your own process. If a function called "GoToPage" exists (this is highly unlikely), you should get the address like this: $Pointer = GetRemoteProcAddress("<insert processname here>","Opera.dll", "GoToPage") Also, DllCallEx calls a machinecode address (contrary to DllCall) in your own process, so you need to use ProcCall instead. Edited July 3, 2011 by Shaggi Ever wanted to call functions in another process? ProcessCall UDFConsole stuff: Console UDFC Preprocessor for AutoIt OMG Link to comment Share on other sites More sharing options...
MrCreatoR Posted July 3, 2011 Share Posted July 3, 2011 (edited) E1M1 Thank you, i have tried both methods, but there is no dll that includes any similar functions to opera commands. Shaggi it would definately be better to send a message instead of calling the raw functions, many programs have critical code inside their window procedure. Look up _SendMessage or PostMessageBut what messages i should use? How do i know what message is related to specific command? Go with the sendmessage method instead. There are several faults in your script. Firstly, you need to use GetRemoteProcAddress, because _GetProcAddress and _GetModuleHandle only works in your own process. If a function called "GoToPage" exists (this is highly unlikely), you should get the address like this: $Pointer = GetRemoteProcAddress("<insert processname here>","Opera.dll", "GoToPage") Also, DllCallEx calls a machinecode address (contrary to DllCall) in your own process, so you need to use ProcCall instead. Yep, no such function, the $Pointer is 0. Edited July 3, 2011 by MrCreatoR  Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1  AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ==================================================    AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
E1M1 Posted July 3, 2011 Share Posted July 3, 2011 (edited) in cheatengine when you list dlls you see Opera.dll did you try click on that + sign to view functions inside this dll? are you sure it's Opera.dll you need? try think logically. Same functionality can have different func names and how do you know you need GoToPage? from opera.dll you might find similar funcc name for this action.I never used opera so please don't frown on me. I just tried to give some hints.... Just tested it with latest opera 11.5. there's no such function as GoToPage in opera.dll. Edited July 3, 2011 by E1M1 edited Link to comment Share on other sites More sharing options...
MrCreatoR Posted July 4, 2011 Share Posted July 4, 2011 (edited) in cheatengine when you list dlls you see Opera.dll did you try click on that + sign to view functions inside this dll?Yes ofcourse, i even checked the dll in Dll Explorer.I think it's internal Opera functions, so the only chance to get it working is to wait untill opera make some sort of API for these commands.Anyway, thank you both for trying to help me, i sure i will find use for this great UDF . Edited July 4, 2011 by MrCreatoR  Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1  AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ==================================================    AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
E1M1 Posted July 4, 2011 Share Posted July 4, 2011 No problem. You can also lookup internal functions but this would require 3-4 days digging in tutorials and other day or 2 experimenting with opera. But firefox was automated with TCP/UDP functions (see udf) myabe opera can be automated same way. Or there might be even UDF for that. I haven't searched but you could do forum search. edited Link to comment Share on other sites More sharing options...
MrCreatoR Posted July 4, 2011 Share Posted July 4, 2011 (edited) there might be even UDF for thatThere is, wroten by... well, me But it's only on "file system level", and this is the reason why i want to triger commands in Opera, i want to extend the library and bring it to different level. Edited July 4, 2011 by MrCreatoR  Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1  AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ==================================================    AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
E1M1 Posted July 4, 2011 Share Posted July 4, 2011 can't you just click and send keys? There was even UDF that allowed to do this minimized window. edited Link to comment Share on other sites More sharing options...
MrCreatoR Posted July 4, 2011 Share Posted July 4, 2011 can't you just click and send keys?First of all, i think that it's not correct way of doing things, and second of all, i want to automate things like open/close tabs, open preferences, change view, select text, open links etc.Every user can change hotkeys in opera very easily, so sending keys is not an option.  Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1  AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ==================================================    AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
malu05 Posted July 17, 2011 Share Posted July 17, 2011 Nice, really nice. Maybe '__thiscall' support aswell? [center][u]WoW Machinima Tool[/u] (Tool for Machinima Artists) [/center] Link to comment Share on other sites More sharing options...
Shaggi Posted July 20, 2011 Author Share Posted July 20, 2011 Nice, really nice.Maybe '__thiscall' support aswell?I might do that, but you will have to pass the pointer to the object itself - the udf cannot know this Ever wanted to call functions in another process? ProcessCall UDFConsole stuff: Console UDFC Preprocessor for AutoIt OMG 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