Go to solution
Solved by water,
-
Recently Browsing 0 members
No registered users viewing this page.
-
Similar Content
-
By sylremo
I tried to implement the code in this topic:
Firstly, i have no idea how these lines of code work but meanwhile i noticed that:
; Everytime autoit wants to call a method, get or set a property in a object it needs to go to ; IDispatch::GetIDsFromNames. This is our version of that function, note that by defining this ourselves ; we can fool autoit to believe that the object supports a lot of different properties/methods. Func __IDispatch_GetIDsFromNames($pSelf, $riid, $rgszNames, $cNames, $lcid, $rgDispId) ... EndFunc The problem is i ran into is that some object calls didn't go through IDispatch::GetIDsFromNames.
Here is the code to replicate what i'm mentioning:
I followed the example in the topic and tried to do the same thing with method .Documents (line 193) and .Open (line 194) but didn't get the same result because .Documents was being passed through __IDispatch_GetIDsFromNames while .Open didn't.
$Au3_CallByName = 'Documents' Local $oDoc = $oAppl.Au3_CallByName $Au3_CallByName = 'Open' $oDoc = $oDoc.Au3_CallByName($sFilePath, $bConfirmConversions, $bReadOnly, $bAddToRecentFiles, $sOpenPassword, "", $bRevert, $sWritePassword, "", $iFormat) Console outputs:
==> The requested action with this object has failed.: $oDoc = $oDoc.Au3_CallByName($sFilePath, $bConfirmConversions, $bReadOnly, $bAddToRecentFiles, $sOpenPassword, "", $bRevert, $sWritePassword, "", $iFormat) $oDoc = $oDoc^ ERROR Is there any workarounds to solve this?
Thank you!
-
By PeterVerbeek
This topic give you access to an AutoIt functions library I maintain which is called PAL, Peter's AutoIt Library. The latest version 1.26 contains 214 functions divided into these topics:
window, desktop and monitor GUI, mouse and color GUI controls including graphical buttons (jpg, png) logics and mathematics include constants string, xml string and file string dialogues and progress bars data lists: lists, stacks, shift registers and key maps (a.ka. dictionaries) miscellaneous: logging/debugging, process and system info Change log and files section on the PAL website (SourceForge).
A lot of these functions were created in the development of Peace, Peter's Equalizer APO Configuration Extension, which is a user interface for the system-wide audio driver called Equalizer APO.
-
By genius257
I've made a library, based on AutoItObject UDF with the goal of implementing getter and setter functionality and make it possible to define new object properties in as few steps as possible.
Thank you to @trancexx for getting me on the right track, and all users in Hooking into the IDispatch interface for the code to get me going.
If I've forgotten to add credit, please let me know
Example:
#include "AutoItObject_Internal.au3" $myCar = IDispatch() $myCar.make = 'Ford' $myCar.model = 'Mustang' $myCar.year = 1969 $myCar.__defineGetter('DisplayCar', DisplayCar) Func DisplayCar($oThis) Return 'A Beautiful ' & $oThis.parent.year & ' ' & $oThis.parent.make & ' ' & $oThis.parent.model EndFunc MsgBox(0, "", $myCar.DisplayCar) More examples: https://github.com/genius257/AutoItObject-Internal/tree/master/Examples
Version: 3.0.0
AutoItObject_Internal.au3
Documentation
Edit2 (19th March 2017):
First of all, sorry about the lack of updates on this project. I always start too many projects and end up ignoring old projects, if I run into problems ^^'.
So I've started moving my AutoIt scripts to GitHub. I will still post the most recent script version here.
-
By sudeepjd
I am looking for a way to interface AutoIT and PTC Creo using the Creo VB API COM object. I am able to do this with VBScript and in theory should also be able to replicate the same into AutoIT as well. However, For some reason, the connection does not seem be made from the Autoit script but is able to be made with VBScript.
Below is my working VBScript.
Dim asynconn, conn, session Set asynconn = CreateObject("pfcls.pfcAsyncConnection") MsgBox TypeName(asynconn), 0, "COM Type" Set conn = asynconn.Connect("", "", ".", 5) 'Set conn = asynconn.Start("C:\Program Files\PTC\Creo 4.0\M090\Parametric\bin\parametric.exe",".") MsgBox TypeName(conn), 0, "Connection Type" Set sess = conn.session MsgBox TypeName(sess), 0, "Session Type" It opens a connection to the COM object in Creo, and message box outputs the variable types.
Below is my NOT working AutoIT Script:
Local $asynconn, $conn, $session $asynconn = ObjCreate("pfcls.pfcAsyncConnection") MsgBox(0, "COM Type",ObjName($asynconn)) $conn = $asynconn.Connect("", "", ".", 5) ;$conn = $asynconn.Start("C:\Program Files\PTC\Creo 4.0\M090\Parametric\bin\parametric.exe", ".") MsgBox(0, "Connection Type", ObjName($conn)) $session = $conn.Session Msgbox(0, "Session Type", ObjName($session)) The connection on the $conn object is not being made, even if I start Creo or try connecting to an existing session.
I know that there is probably a very few people who would be able to replicate this (those who have access to Creo), but would really appreciate help if someone has any ideas as to why this could be happening.
Thanks.
Sudeep.
-
By nacerbaaziz
hello autoit team
please
i tried to create a SPVoice object
when i create the object and tried to use this function SetAlertBoundary
it gave me an error
please where is the problem?
here is the code
local $o_Sapi_OBJ = ObjCreate("SAPI.SpVoice") if IsObj($o_Sapi_OBJ) then $o_Sapi_OBJ.SetAlertBoundary("SPEI_PHONEME") endIf note i got the function name from microsoft web site
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms719784(v=vs.85)
i have windows10
-
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