Jump to content

Recommended Posts

Posted

Oh this is great! Thanks so much ProgAndy! :mellow:

Thanks, but monoceres, trancexx nad Kip have done much work, too.

*GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes

Posted

Is there any way to have different read and write properties? If we already can then I have not understood how.

eg

_AutoItObject_AddProperety(ByRef $oObject, $Name,$ElRead="read" & $Name",$ElWrite="write" & $Name,$vData)

For example if you wanted

$oLabel3.colour = 0xff0000 ;needs a method to call GuiCtrlSetColor

$colour = $oLabel3.colour ;just return the value

I realize we can do something like

$oLabel3.set.colour(0xff0000)

$colour = $oLabel3.get.colour

but it isn't quite as neat.

Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.
Posted (edited)

No. You should use a private property and two methods.

private property color

public method setColor

public method getColor

You can combine the two methods into one if you want.

Edited by ProgAndy

*GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes

Posted

No. You should use a private property and two methods.

private property color

public method setColor

public method getColor

You can combine the two methods into one if you want.

That's not true.

Register a method with one parameter besides $self.

Func __Obj_prop($self, $vNewValue=0)
    If @NumParams = 2 Then
        ; what to do when a new value is assigned to the property
    Else
        ; what to do when the value is asked
    EndIf
EndFunc

That can be used like:

$Obj.prop = "value";
ConsoleWrite($Obj.prop);
Posted

That's not true.

Register a method with one parameter besides $self.

That is what I meant with

You can combine the two methods into one if you want.

*GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes

Posted

Then why did you say it isn't possible?

He didn't.

Thanks fo rthe response Kip and Prog@ndy buit it hasn't helped me yet, or at least I haven't been able to succeed with Kip's suggestion .

What is wrong with this

#include ".\..\AutoitObject.au3"
; Error monitoring
Global $oError = ObjEvent("AutoIt.Error", "_ErrFunc")

#AutoIt3Wrapper_UseX64=n

_AutoItObject_Startup()

$oTest1 = Thing()

$oTest1.Value = 98

$a = $oTest1.Value ;! COM Error ! Number: 0x80020003 ScriptLine: 14 - Member not found.


Func Thing()
    Local $oObject = _AutoItObject_Create()
    _AutoItObject_AddProperty($oObject, "CurrentVal", $ELSCOPE_PRIVATE, 0)
    _AutoItObject_AddMethod($oObject, "Value", "_Value")
    Return $oObject
EndFunc ;==>Thing

Func _Value($self, $new)
    If @NumParams = 2 Then
    ConsoleWrite("write " & $new & @CRLF)
    $self.CurrentVal = $new
    Return
    EndIf
    Return $self.CurrentVal

EndFunc ;==>_Value


Func _ErrFunc()
    ConsoleWrite("! COM Error ! Number: 0x" & Hex($oError.number, 8) & " ScriptLine: " & $oError.scriptline & " - " & $oError.windescription & @CRLF)
    Return
EndFunc ;==>_ErrFunc
Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.
Posted

He didn't.

Thanks fo rthe response Kip and Prog@ndy buit it hasn't helped me yet, or at least I haven't been able to succeed with Kip's suggestion .

What is wrong with this

#include ".\..\AutoitObject.au3"
; Error monitoring
Global $oError = ObjEvent("AutoIt.Error", "_ErrFunc")

#AutoIt3Wrapper_UseX64=n

_AutoItObject_Startup()

$oTest1 = Thing()

$oTest1.Value = 98

$a = $oTest1.Value ;! COM Error ! Number: 0x80020003 ScriptLine: 14 - Member not found.


Func Thing()
    Local $oObject = _AutoItObject_Create()
    _AutoItObject_AddProperty($oObject, "CurrentVal", $ELSCOPE_PRIVATE, 0)
    _AutoItObject_AddMethod($oObject, "Value", "_Value")
    Return $oObject
EndFunc ;==>Thing

Func _Value($self, $new)
    If @NumParams = 2 Then
    ConsoleWrite("write " & $new & @CRLF)
    $self.CurrentVal = $new
    Return
    EndIf
    Return $self.CurrentVal

EndFunc ;==>_Value


Func _ErrFunc()
    ConsoleWrite("! COM Error ! Number: 0x" & Hex($oError.number, 8) & " ScriptLine: " & $oError.scriptline & " - " & $oError.windescription & @CRLF)
    Return
EndFunc ;==>_ErrFunc

The $new parameter should be optional:

Func _Value($self, $new=0)
Posted

The $new parameter should be optional:

Func _Value($self, $new=0)

Yes of course, silly of me. Thanks Kip it works just like you said it would, I'm very pleased with that.
Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.
Posted

Ok, it's inheritance when you nest object creation calls, but what's it called when you pass an object as a property?

For example, this _Car class creates cars. It has wheels as a property. Wheels are objects with the rim property and spin method.

The spin method knows nothing about the _Car object it's attached to. I want the spin method to know what car it's attached to without having to explicitly pass the property during creation.

Should this scenario be avoided, as in design a better way of making cars with wheels?

Or should I just have a better wheels constructor that requires car data, with wheels taking a _Car object as a parameter so that it has access?

#include "AutoitObject.au3"

_AutoItObject_StartUp()

Func _Car()
    Local $oClassObject = _AutoItObject_Class()
    $oClassObject.Create()
    $oClassObject.AddProperty("wheels", $ELSCOPE_PUBLIC, _Wheels())
    $oClassObject.AddProperty("vehicle", $ELSCOPE_PUBLIC, "car")
    $oClassObject.AddProperty("driver")
    Return $oClassObject.Object
EndFunc

Func _Wheels()
    Local $oClassObject = _AutoItObject_Class()
    $oClassObject.Create()
    $oClassObject.AddProperty("rims", $ELSCOPE_PUBLIC, "Gold")
    $oClassObject.AddMethod("spin","_Spin")
    Return $oClassObject.Object
EndFunc

Func _Spin($oSelf)
    MsgBox(0, "Wheels", "The wheels on the car go round and round.")
EndFunc


$raceCar = _Car()
$raceCar.driver = "Monoceres"
ConsoleWrite("This bus's rims are " & $raceCar.wheels.rims & "." & @CRLF & "Drive, " & $raceCar.driver & ", drive!" & @CRLF)
$raceCar.wheels.spin

$clownCar = _Car()
$clownCar.driver = "JRowe"
$clownCar.wheels.rims = "tin"
ConsoleWrite("This car's rims are " & $clownCar.wheels.rims & "." & @CRLF & "Drive, " & $clownCar.driver & ", drive!" & @CRLF)
$clownCar.wheels.spin

$raceCar = 0
$clownCar = 0
Exit

Anyway, very fun to play with.

Posted

Ok, it's inheritance when you nest object creation calls, but what's it called when you pass an object as a property?

Composition :mellow:

For example, this _Car class creates cars. It has wheels as a property. Wheels are objects with the rim property and spin method.

The spin method knows nothing about the _Car object it's attached to. I want the spin method to know what car it's attached to without having to explicitly pass the property during creation.

Should this scenario be avoided, as in design a better way of making cars with wheels?

Or should I just have a better wheels constructor that requires car data, with wheels taking a _Car object as a parameter so that it has access?

Add a property if you really need the parent Car. However sometimes you might want to reverse your thinking. For example, instead of the Wheel::spin method moving the car forward, maybe car should have a Car::move method that calls the Wheel::spin and moves itself accordingly.

Broken link? PM me and I'll send you the file!

Posted (edited)

hi, this is great, im going to convert some nice udfs to OO now, is there a procedure how to convert best or a best practice approach?

like. special naming of the udfs, or extracting all object definitions from the methods placing them in different files/folders?

Edited by JRSmile
$a=StringSplit("547275737420796F757220546563686E6F6C75737421","")
For $b=1 To UBound($a)+(-1*-1*-1)step(2^4/8);&$b+=1*2/40*µ&Asc(4)
Assign("c",Eval("c")&Chr(Dec($a[$b]&$a[$b+1])));''Chr("a")&"HI"
Next ;time_U&r34d,ths,U-may=get$the&c.l.u.e;b3st-regards,JRSmile;
MsgBox(0x000000,"",Eval("c"));PiEs:d0nt+*b3.s4d.4ft3r.1st-try:-)
Posted

I would make an overview of the class first to see what you are doing. It's also nice for the users.

For example:

#cs

class MyObject {
    
    MyObject($sInitString); // Constructor
    
    private property sData;
    
    public  method   GetData();
    public  method   SetData( $sNewValue );
    
    ~MyObject();            // Destructor
    
}

#ce

For the function names, I always use ___object_method.

So in this case:

Func ___MyObject_GetData() ...
Posted

I've been going through some header files extracting the CLSID's and IID's for possible future use. Thought I would post them here just in case someone need one on this list.

;=======From ShObjIdl.h======================================================================
$CLSID_ShellDesktop =                           "{00021400-0000-0000-C000-000000000046}"
$CLSID_ShellFSFolder =                          "{F3364BA0-65B9-11CE-A9BA-00AA004AE837}"
$CLSID_NetworkPlaces =                          "{208D2C60-3AEA-1069-A2D7-08002B30309D}"
$CLSID_ShellLink =                              "{00021401-0000-0000-C000-000000000046}"
$CLSID_QueryCancelAutoPlay =                    "{331F1768-05A9-4ddd-B86E-DAE34DDC998A}"
$CLSID_DriveSizeCategorizer =                   "{94357B53-CA29-4b78-83AE-E8FE7409134F}"
$CLSID_DriveTypeCategorizer =                   "{B0A8F3CF-4333-4bab-8873-1CCB1CADA48B}"
$CLSID_FreeSpaceCategorizer =                   "{B5607793-24AC-44c7-82E2-831726AA6CB7}"
$CLSID_TimeCategorizer =                        "{3bb4118f-ddfd-4d30-a348-9fb5d6bf1afe}"
$CLSID_SizeCategorizer =                        "{55d7b852-f6d1-42f2-aa75-8728a1b2d264}"
$CLSID_AlphabeticalCategorizer =                "{3c2654c6-7372-4f6b-b310-55d6128f49d2}"
$CLSID_MergedCategorizer =                      "{8e827c11-33e7-4bc1-b242-8cd9a1c2b304}"
$CLSID_ImageProperties =                        "{7ab770c7-0e23-4d7a-8aa2-19bfad479829}"
$CLSID_PropertiesUI =                           "{d912f8cf-0396-4915-884e-fb425d32943b}"
$CLSID_UserNotification =                       "{0010890e-8789-413c-adbc-48f5b511b3af}"
$CLSID_CDBurn =                                 "{fbeb8a05-beee-4442-804e-409d6c4515e9}"
$CLSID_TaskbarList =                            "{56FDF344-FD6D-11d0-958A-006097C9A090}"
$CLSID_StartMenuPin =                           "{a2a9545d-a0c2-42b4-9708-a0b2badd77c8}"
$CLSID_WebWizardHost =                          "{c827f149-55c1-4d28-935e-57e47caed973}"
$CLSID_PublishDropTarget =                      "{CC6EEFFB-43F6-46c5-9619-51D571967F7D}"
$CLSID_PublishingWizard =                       "{6b33163c-76a5-4b6c-bf21-45de9cd503a1}"
$CLSID_InternetPrintOrdering =                  "{add36aa8-751a-4579-a266-d66f5202ccbb}"
$CLSID_FolderViewHost =                         "{20b1cb23-6968-4eb9-b7d4-a66d00d07cee}"
$CLSID_ExplorerBrowser =                        "{71f96385-ddd6-48d3-a0c1-ae06e8b055fb}"
$CLSID_ImageRecompress =                        "{6e33091c-d2f8-4740-b55e-2e11d1477a2c}"
$CLSID_TrayBandSiteService =                    "{F60AD0A0-E5E1-45cb-B51A-E15B9F8B2934}"
$CLSID_TrayDeskBand =                           "{E6442437-6C68-4f52-94DD-2CFED267EFB9}"
$CLSID_AttachmentServices =                     "{4125dd96-e03a-4103-8f70-e0597d803b9c}"
$CLSID_DocPropShellExtension =                  "{883373C3-BF89-11D1-BE35-080036B11A03}"
$CLSID_ShellItem =                              "{9ac9fbe1-e0a2-4ad6-b4ee-e212013ea917}"
$CLSID_NamespaceWalker =                        "{72eb61e0-8672-4303-9175-f2e4c68b2e7c}"
$CLSID_FileOperation =                          "{3ad05575-8857-4850-9277-11b85bdb8e09}"
$CLSID_FileOpenDialog =                         "{DC1C5A9C-E88A-4dde-A5A1-60F82A20AEF7}"
$CLSID_FileSaveDialog =                         "{C0B4E2F3-BA21-4773-8DBA-335EC946EB8B}"
$CLSID_KnownFolderManager =                     "{4df0c730-df9d-4ae3-9153-aa6b82e9795a}"
$CLSID_FSCopyHandler =                          "{D197380A-0A79-4dc8-A033-ED882C2FA14B}"
$CLSID_SharingConfigurationManager =            "{49F371E1-8C5C-4d9c-9A3B-54A6827F513C}"
$CLSID_PreviousVersions =                       "{596AB062-B4D2-4215-9F74-E9109B0A8153}"
$CLSID_NetworkConnections =                     "{7007ACC7-3202-11D1-AAD2-00805FC1270E}"
$CLSID_NamespaceTreeControl =                   "{AE054212-3535-4430-83ED-D501AA6680E6}"
$CLSID_IENamespaceTreeControl =                 "{ACE52D03-E5CD-4b20-82FF-E71B11BEAE1D}"
$CLSID_ScheduledTasks =                         "{D6277990-4C6A-11CF-8D87-00AA0060F5BF}"
$CLSID_ApplicationAssociationRegistration =     "{591209c7-767b-42b2-9fba-44ee4615f2c7}"
$CLSID_ApplicationAssociationRegistrationUI =   "{1968106d-f3b5-44cf-890e-116fcb9ecef1}"
$CLSID_SearchFolderItemFactory =                "{14010e02-bbbd-41f0-88e3-eda371216584}"
$CLSID_OpenControlPanel =                       "{06622D85-6856-4460-8DE1-A81921B41C4B}"
$CLSID_ComputerInfoAdvise =                     "{00A77FF7-A514-493e-B721-CDF8CB0F5B59}"
$CLSID_NetworkExplorerFolder =                  "{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}"

$IID_IAssocHandlerInvoker =                     "{92218CAB-ECAA-4335-8133-807FD234C2EE}"
$IID_IContextMenu =                             "{000214e4-0000-0000-c000-000000000046}"
$IID_IContextMenu2 =                            "{000214f4-0000-0000-c000-000000000046}"
$IID_IContextMenu3 =                            "{BCFCE0A0-EC17-11d0-8D10-00A0C90F2719}"
$IID_IPersistFolder =                           "{000214EA-0000-0000-C000-000000000046}"
$IID_IRunnableTask =                            "{85788d00-6807-11d0-b810-00c04fd706ec}"
$IID_IShellTaskScheduler =                      "{6CCB7BE0-6807-11d0-B810-00C04FD706EC}"
$IID_IPersistFolder2 =                          "{1AC3D9F0-175C-11d1-95BE-00609797EA4F}"
$IID_IPersistFolder3 =                          "{CEF04FDF-FE72-11d2-87A5-00C04F6837CF}"
$IID_IPersistIDList =                           "{1079acfc-29bd-11d3-8e0d-00c04f6837d5}"
$IID_IEnumIDList =                              "{000214F2-0000-0000-C000-000000000046}"
$IID_IEnumFullIDList =                          "{d0191542-7954-4908-bc06-b2360bbe45ba}"
$IID_IShellFolder =                             "{000214E6-0000-0000-C000-000000000046}"
$IID_IEnumExtraSearch =                         "{0E700BE1-9DB6-11d1-A1CE-00C04FD75D13}"
$IID_IShellFolder2 =                            "{93F2F68C-1D1B-11d3-A30E-00C04F79ABD1}"
$IID_IShellView =                               "{000214E3-0000-0000-C000-000000000046}"
$IID_IShellView2 =                              "{88E39E80-3578-11CF-AE69-08002B2E1262}"
$IID_IShellView3 =                              "{ec39fa88-f8af-41c5-8421-38bed28f4673}"
$IID_IFolderView =                              "{cde725b0-ccc9-4519-917e-325d72fab4ce}"
$IID_IFolderView2 =                             "{1af3a467-214f-4298-908e-06b03e0b39f9}"
$IID_IFolderViewSettings =                      "{ae8c987d-8797-4ed3-be72-2a47dd938db0}"
$IID_IPreviewHandlerVisuals =                   "{196bf9a5-b346-4ef0-aa1e-5dcdb76768b1}"
$IID_IVisualProperties =                        "{e693cf68-d967-4112-8763-99172aee5e5a}"
$IID_ICommDlgBrowser =                          "{000214F1-0000-0000-C000-000000000046}"
$IID_ICommDlgBrowser2 =                         "{10339516-2894-11d2-9039-00C04F8EEB3E}"
$IID_ICommDlgBrowser3 =                         "{c8ad25a1-3294-41ee-8165-71174bd01c57}"
$IID_IColumnManager =                           "{d8ec27bb-3f3b-4042-b10a-4acfd924d453}"
$IID_IFolderFilterSite =                        "{C0A651F5-B48B-11d2-B5ED-006097C686F6}"
$IID_IFolderFilter =                            "{9CC22886-DC8E-11d2-B1D0-00C04F8EEB3E}"
$IID_IInputObjectSite =                         "{F1DB8392-7331-11D0-8C99-00A0C92DBFE8}"
$IID_IInputObject =                             "{68284fAA-6A48-11D0-8c78-00C04fd918b4}"
$IID_IInputObject2 =                            "{6915C085-510B-44cd-94AF-28DFA56CF92B}"
$IID_IShellIcon =                               "{000214E5-0000-0000-C000-000000000046}"
$IID_IShellBrowser =                            "{000214E2-0000-0000-C000-000000000046}"
$IID_IProfferService =                          "{cb728b20-f786-11ce-92ad-00aa00a74cd0}"
$IID_IShellItem =                               "{43826d1e-e718-42ee-bc55-a1e261c37bfe}"
$IID_IShellItem2 =                              "{7e9fb0d3-919f-4307-ab2e-9b1860310c93}"
$IID_IShellItemImageFactory =                   "{bcc18b79-ba16-442f-80c4-8a59c30c463b}"
$IID_IEnumShellItems =                          "{70629033-e363-4a28-a567-0db78006e6d7}"
$IID_ITransferAdviseSink =                      "{d594d0d8-8da7-457b-b3b4-ce5dbaac0b88}"
$IID_ITransferSource =                          "{00adb003-bde9-45c6-8e29-d09f9353e108}"
$IID_IEnumResources =                           "{2dd81fe3-a83c-4da9-a330-47249d345ba1}"
$IID_IShellItemResources =                      "{ff5693be-2ce0-4d48-b5c5-40817d1acdb9}"
$IID_ITransferDestination =                     "{48addd32-3ca5-4124-abe3-b5a72531b207}"
$IID_IStreamAsync =                             "{fe0b6665-e0ca-49b9-a178-2b5cb48d92a5}"
$IID_IStreamUnbufferedInfo =                    "{8a68fdda-1fdc-4c20-8ceb-416643b5a625}"
$IID_IFileOperationprogressSink =               "{04b0f1a7-9490-44bc-96e1-4296a31252e2}"
$IID_IShellItemArray =                          "{b63ea76d-1f85-456f-a19c-48159efa858b}"
$IID_IInitializeWithItem =                      "{7f73be3f-fb79-493c-a6c7-7ee14e245841}"
$IID_IPropertyUI =                              "{757a7d9f-919a-4118-99d7-dbb208c8cc66}"
$IID_ICategoryProvider =                        "{9af64809-5864-4c26-a720-c1f78c086ee3}"
$IID_ICategorizer =                             "{a3b14589-9174-49a8-89a3-06a1ae2b9ba7}"
$IID_IDropTargetHelper =                        "{4657278B-411B-11D2-839A-00C04FD918D0}"
$IID_IDragSourceHelper =                        "{DE5BF786-477A-11D2-839D-00C04FD918D0}"
$IID_IDragSourceHelper2 =                       "{83E07D0D-0C5F-4163-BF1A-60B274051E40}"
$IID_IShellLinkA =                              "{000214EE-0000-0000-C000-000000000046}"
$IID_IShellLinkW =                              "{000214F9-0000-0000-C000-000000000046}"
$IID_IShellLinkDataList =                       "{45e2b4ae-b1c3-11d0-b92f-00a0c90312e1}"
$IID_IResolveShellLink =                        "{5cd52983-9449-11d2-963a-00c04f79adf0}"
$IID_IActionprogressDialog =                    "{49ff1172-eadc-446d-9285-156453a6431c}"
$IID_IHWEventHandler =                          "{C1FB73D0-EC3A-4ba2-B512-8CDB9187B6D1}"
$IID_IHWEventHandler2 =                         "{CFCC809F-295D-42e8-9FFC-424B33C487E6}"
$IID_IQueryCancelAutoPlay =                     "{DDEFE873-6997-4e68-BE26-39B633ADBE12}"
$IID_IDynamicHWHandler =                        "{DC2601D7-059E-42fc-A09D-2AFD21B6D5F7}"
$IID_IActionprogress =                          "{49ff1173-eadc-446d-9285-156453a6431c}"
$IID_IShellExtInit =                            "{000214E8-0000-0000-C000-000000000046}"
$IID_IShellPropSheetExt =                       "{000214E9-0000-0000-C000-000000000046}"
$IID_IRemoteComputer =                          "{000214FE-0000-0000-C000-000000000046}"
$IID_IQueryContinue =                           "{7307055c-b24a-486b-9f25-163e597a28a9}"
$IID_IUserNotification =                        "{ba9711ba-5893-4787-a7e1-41277151550b}"
$IID_IUserNotificationCallback =                "{19108294-0441-4AFF-8013-FA0A730B0BEA}"
$IID_IUserNotification2 =                       "{215913CC-57EB-4FAB-AB5A-E5FA7BEA2A6C}"
$IID_IItemNameLimits =                          "{1df0d7f1-b267-4d28-8b10-12e23202a5c4}"
$IID_ISearchFolderItemFactory =                 "{a0ffbc28-5482-4366-be27-3e81e78e06c2}"
$IID_IExtractImage =                            "{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}"
$IID_IExtractImage2 =                           "{953BB1EE-93B4-11d1-98A3-00C04FB687DA}"
$IID_IThumbnailHandlerFactory =                 "{e35b4b2e-00da-4bc1-9f13-38bc11f5d417}"
$IID_IParentAndItem =                           "{b3a4b685-b685-4805-99d9-5dead2873236}"
$IID_IDockingWindow =                           "{012dd920-7b26-11d0-8ca9-00a0c92dbfe8}"
$IID_IDeskBand =                                "{EB0FE172-1A3A-11D0-89B3-00A0C90A90AC}"
$IID_IDeskBandInfo =                            "{77E425FC-CBF9-4307-BA6A-BB5727745661}"
$IID_IDeskBand2 =                               "{79D16DE4-ABEE-4021-8D9D-9169B261D657}"
$IID_ITaskbarList =                             "{56FDF342-FD6D-11d0-958A-006097C9A090}"
$IID_ITaskbarList2 =                            "{602D4995-B13A-429b-A66E-1935E44F4317}"
$IID_IStartMenuPinnedList =                     "{4CD19ADA-25A5-4A32-B3B7-347BEE5BE36B}"
$IID_ICDBurn =                                  "{3d73a659-e5d0-4d42-afc0-5121ba425c8d}"
$IID_IWizardSite =                              "{88960f5b-422f-4e7b-8013-73415381c3c3}"
$IID_IWizardExtension =                         "{c02ea696-86cc-491e-9b23-74394a0444a8}"
$IID_IWebWizardExtension =                      "{0e6b3f66-98d1-48c0-a222-fbde74e2fbc5}"
$IID_IPublishingWizard =                        "{aa9198bb-ccec-472d-beed-19a4f6733f7a}"
$IID_IFolderViewHost =                          "{1ea58f02-d55a-411d-b09e-9e65ac21605b}"
$IID_IExplorerBrowserEvents =                   "{361bbdc7-e6ee-4e13-be58-58e2240c810f}"
$IID_IExplorerBrowser =                         "{dfd3b6b5-c10c-4be9-85f6-a66969f402f6}"
$IID_IAccessibleObject =                        "{95A391C5-9ED4-4c28-8401-AB9E06719E11}"
$IID_IResultsFolder =                           "{96E5AE6D-6AE1-4b1c-900C-C6480EAA8828}"
$IID_IEnumObjects =                             "{2c1c7e2e-2d0e-4059-831e-1e6f82335c2e}"
$IID_IOperationsProgressDialog =                "{0C9FB851-E5C9-43EB-A370-F0677B13874C}"
$IID_IOperationsUpdateProgress =                "{B5256C5C-F918-49E6-BBB7-A3C254C09FDF}"
$IID_IIOCancelInformation =                     "{f5b0bf81-8cb5-4b1b-9449-1a159e0c733c}"
$IID_IFileOperation =                           "{947aab5f-0a5c-4c13-b4d6-4bf7836fc9f8}"
$IID_IObjectProvider =                          "{a6087428-3be3-4d73-b308-7c04a540bf1a}"
$IID_INamespaceWalkCB =                         "{d92995f8-cf5e-4a76-bf59-ead39ea2b97e}"
$IID_INamespaceWalkCB2 =                        "{7ac7492b-c38e-438a-87db-68737844ff70}"
$IID_INamespaceWalk =                           "{57ced8a7-3f4a-432c-9350-30f24483f74f}"
$IID_IAutoCompleteDropDown =                    "{3CD141F4-3C6A-11d2-BCAA-00C04FD929DB}"
$IID_IBandSite =                                "{4CF504B0-DE96-11D0-8B3F-00A0C911E8E5}"
$IID_IModalWindow =                             "{b4db1657-70d7-485e-8e3e-6fcb5a5c1802}"
$IID_ICDBurnExt =                               "{2271dcca-74fc-4414-8fb7-c56b05ace2d7}"
$IID_IContextMenuSite =                         "{0811AEBE-0B87-4C54-9E72-548CF649016B}"
$IID_IEnumReadyCallback =                       "{61E00D45-8FFF-4e60-924E-6537B61612DD}"
$IID_IEnumerableView =                          "{8C8BF236-1AEC-495f-9894-91D57C3C686F}"
$IID_IInsertItem =                              "{D2B57227-3D23-4b95-93C0-492BD454C356}"
$IID_IMenuBand =                                "{568804CD-CBD7-11d0-9816-00C04FD91972}"
$IID_IFolderBandPriv =                          "{47c01f95-e185-412c-b5c5-4f27df965aea}"
$IID_IRegTreeItem =                             "{A9521922-0812-4d44-9EC3-7FD38C726F3D}"
$IID_IImageRecompress =                         "{505f1513-6b3e-4892-a272-59f8889a4d3e}"
$IID_IDeskBar =                                 "{EB0FE173-1A3A-11D0-89B3-00A0C90A90AC}"
$IID_IMenuPopup =                               "{D1E7AFEB-6A2E-11d0-8C78-00C04FD918B4}"
$IID_IFileIsInUse =                             "{64a1cbf0-3a1a-4461-9158-376969693950}"
$IID_IFileDialogEvents =                        "{973510db-7d7f-452b-8975-74a85828d354}"
$IID_IFileDialog =                              "{42f85136-db7e-439c-85f1-e4075d135fc8}"
$IID_IFileSaveDialog =                          "{84bccd23-5fde-4cdb-aea4-af64b83d78ab}"
$IID_IFileOpenDialog =                          "{d57c7288-d4ad-4768-be02-9d969532d960}"
$IID_IFileDialogCustomize =                     "{e6fdd21a-163f-4975-9c8c-a69f1ba37034}"
$IID_IFileDialogControlEvents =                 "{36116642-D713-4b97-9B83-7484A9D00433}"
$IID_IApplicationAssociationRegistration =      "{4e530b0a-e611-4c77-a3ac-9031d022281b}"
$IID_IApplicationAssociationRegistrationUI =    "{1f76a169-f994-40ac-8fc8-0959e8874710}"
$IID_IDelegateFolder =                          "{ADD8BA80-002B-11D0-8F0F-00C04FD7D062}"
$IID_IBrowserFrameOptions =                     "{10DF43C8-1DBE-11d3-8B34-006097DF5BD4}"
$IID_INewWindowManager =                        "{D2BC4C84-3F72-4a52-A604-7BCBF3982CBB}"
$IID_IAttachmentExecute =                       "{73db1241-1e85-4581-8e4f-a81e1d0f8c57}"
$IID_IShellMenuCallback =                       "{4CA300A1-9B8D-11d1-8B22-00C04FD918D0}"
$IID_IShellMenu =                               "{EE1F7637-E138-11d1-8379-00C04FD918D0}"
$IID_IShellRunDll =                             "{fce4bde0-4b68-4b80-8e9c-7426315a7388}"
$IID_IKnownFolder =                             "{3AA7AF7E-9B36-420c-A8E3-F77D4674A488}"
$IID_IKnownFolderManager =                      "{8BE2D872-86AA-4d47-B776-32CCA40C7018}"
$IID_ISharingConfigurationManager =             "{B4CD448A-9C86-4466-9201-2E62105B87AE}"
$IID_IPreviousVersionsInfo =                    "{76e54780-ad74-48e3-a695-3ba9a0aff10d}"
$IID_IRelatedItem =                             "{a73ce67a-8ab1-44f1-8d43-d2fcbf6b1cd0}"
$IID_IIdentityName =                            "{7d903fca-d6f9-4810-8332-946c0177e247}"
$IID_ICurrentItem =                             "{240a7174-d653-4a1d-a6d3-d4943cfbfe3d}"
$IID_ITransferMediumItem =                      "{77f295d5-2d6f-4e19-b8ae-322f3e721ab5}"
$IID_IUseToBrowseItem =                         "{05edda5c-98a3-4717-8adb-c5e7da991eb1}"
$IID_IDisplayItem =                             "{c6fd5997-9f6b-4888-8703-94e80e8cde3f}"
$IID_IDestinationStreamFactory =                "{8a87781b-39a7-4a1f-aab3-a39b9c34a7d9}"
$IID_IShellItemFilter =                         "{2659B475-EEB8-48b7-8F07-B378810F48CF}"
$IID_INameSpaceTreeControl =                    "{028212A3-B627-47e9-8856-C14265554E4F}"
$IID_INameSpaceTreeControlEvents =              "{93D77985-B3D8-4484-8318-672CDDA002CE}"
$IID_INameSpaceTreeControlDropHandler =         "{F9C665D6-C2F2-4c19-BF33-8322D7352F51}"
$IID_INameSpaceTreeAccessible =                 "{71f312de-43ed-4190-8477-e9536b82350b}"
$IID_INameSpaceTreeControlCustomDraw =          "{2D3BA758-33EE-42d5-BB7B-5F3431D86C78}"
$IID_IPreviewHandler =                          "{8895b1c6-b41f-4c1c-a562-0d564250836f}"
$IID_IPreviewHandlerFrame =                     "{fec87aaf-35f9-447a-adb7-20234491401a}"
$IID_ITrayDeskBand =                            "{6D67E846-5B9C-4db8-9CBC-DDE12F4254F1}"
$IID_IBandHost =                                "{B9075C7C-D48E-403f-AB99-D6C77A1084AC}"
$IID_IExplorerPaneVisibility =                  "{e07010ec-bc17-44c0-97b0-46c7c95b9edc}"
$IID_IContextMenuCB =                           "{3409E930-5A39-11d1-83FA-00A0C90DC849}"
$IID_IDefaultExtractIconInit =                  "{41ded17d-d6b3-4261-997d-88c60e4b1d58}"
$IID_IExplorerCommand =                         "{a08ce4d0-fa25-44ab-b57c-c7b1c323e0b9}"
$IID_IEnumExplorerCommand =                     "{a88826f8-186f-4987-aade-ea0cef8fbfe8}"
$IID_IExplorerCommandProvider =                 "{64961751-0835-43c0-8ffe-d57686530e64}"
$IID_IMarkupCallback =                          "{4440306e-d79a-48d0-88e6-a42692279bfb}"
$IID_IControlMarkup =                           "{D6D2FBAE-F116-458c-8C34-03569877A2D2}"
$IID_IInitializeNetworkFolder =                 "{6e0f9881-42a8-4f2a-97f8-8af4e026d92d}"
$IID_IOpenControlPanel =                        "{D11AD862-66DE-4DF4-BF6C-1F5621996AF1}"
$IID_ISystemCPLUpdate =                         "{A8A71374-80C2-49e0-8805-8524EBC45B07}"
$IID_IComputerInfoAdvise =                      "{4623BD61-5603-444f-824A-AAEBCEED93FA}"
$IID_IComputerInfoChangeNotify =                "{0DF60D92-6818-46d6-B358-D66170DDE466}"
$IID_IFileSystemBindData =                      "{01E18D10-4D8B-11d2-855D-006008059367}"
$IID_IFileSystemBindData2 =                     "{3acf075f-71db-4afa-81f0-3fc4fdf2a5b8}"
$IID_IAssocHandler =                            "{F04061AC-1659-4a3f-A954-775AA57FC083}"
$IID_IEnumAssocHandlers =                       "{973810ae-9599-4b88-9e4d-6ee98c9552da}"


;=======From ShlGuid.h======================================================================
$CLSID_ACLMulti =                               "{00BB2765-6A77-11D0-A535-00C04FD7D062}"
$CLSID_ACLCustomMRU =                           "{6935db93-21e8-4ccc-beb9-9fe3c77a297a}"
$CLSID_CFSIconOverlayManager =                  "{63B51F81-C868-11D0-999C-00C04FD655E1}"
$CLSID_ShellThumbnailDiskCache =                "{1EBDCF80-A200-11d0-A3A4-00C04FD706EC}"
$CLSID_MenuBand =                               "{5b4dae26-b807-11d0-9815-00c04fd91972}"
$CLSID_AutoComplete =                           "{00BB2763-6A77-11D0-A535-00C04FD7D062}"
$CLSID_ACLHistory =                             "{00BB2764-6A77-11D0-A535-00C04FD7D062}"
$CLSID_ACListISF =                              "{03C036F1-A186-11D0-824A-00AA005B4383}"
$CLSID_CUrlHistory =                            "{3C374A40-BAE4-11CF-BF7D-00AA006946EE}"
$CLSID_CURLSearchHook =                         "{CFBFAE00-17A6-11D0-99CB-00C04FD64497}"
$CLSID_ACLMRU =                                 "{6756A641-DE71-11d0-831B-00AA005B4383}"
$CLSID_ProgressDialog =                         "{F8383852-FCD3-11d1-A6B9-006097DF5BD4}"
$CLSID_FileTypes =                              "{B091E540-83E3-11CF-A713-0020AFD79762}"
$CLSID_ActiveDesktop =                          "{75048700-EF1F-11D0-9888-006097DEACF9}"
$CLSID_QueryAssociations =                      "{a07034fd-6caa-4954-ac3f-97a27216f98a}"
$CLSID_LinkColumnProvider =                     "{24F14F02-7B1C-11d1-838f-0000F80461CF}"
$CLSID_InternetButtons =                        "{1E796980-9CC5-11D1-A83F-00C04FC99D61}"
$CLSID_MSOButtons =                             "{178F34B8-A282-11d2-86C5-00C04F8EEA99}"
$CLSID_ToolbarExtButtons =                      "{2CE4B5D8-A28F-11d2-86C5-00C04F8EEA99}"
$CLSID_DarwinAppPublisher =                     "{CFCCC7A0-A282-11D1-9082-006008059382}"
$CLSID_DocHostUIHandler =                       "{7057E952-BD1B-11d1-8919-00C04FC2C836}"
$CLSID_QuickLinks =                             "{0E5CBF21-D15F-11d0-8301-00AA005B4383}"
$CLSID_ISFBand =                                "{D82BE2B0-5764-11D0-A96E-00C04FD705A2}"
$CLSID_MenuBandSite =                           "{E13EF4E4-D2F2-11d0-9816-00C04FD91972}"
$CLSID_FolderShortcut =                         "{0AFACED1-E828-11D1-9187-B532F1E9575D}"
$CLSID_ShellFldSetExt =                         "{6D5313C0-8C62-11D1-B2CD-006097DF8C11}"
$CLSID_MenuToolbarBase =                        "{40B96610-B522-11d1-B3B4-00AA006EFDE7}"
$CLSID_FolderItem =                             "{FEF10FA2-355E-4e06-9381-9B24D7F7CC88}"
$CLSID_FolderItemsMultiLevel =                  "{53C74826-AB99-4d33-ACA4-3117F51D3788}"
$CLSID_NewMenu =                                "{D969A300-E7FF-11d0-A93B-00A0C90F2719}"
$CLSID_HWShellExecute =                         "{FFB8655F-81B9-4fce-B89C-9A6BA76D13E7}"
$CLSID_DragDropHelper =                         "{4657278A-411B-11d2-839A-00C04FD918D0}"
$CLSID_CAnchorBrowsePropertyPage =              "{3050f3BB-98b5-11cf-bb82-00aa00bdce0b}"
$CLSID_CImageBrowsePropertyPage =               "{3050f3B3-98b5-11cf-bb82-00aa00bdce0b}"
$CLSID_CDocBrowsePropertyPage =                 "{3050f3B4-98b5-11cf-bb82-00aa00bdce0b}"

$IID_INewShortcutHookA  =                       "{000214E1-0000-0000-C000-000000000046}"
$IID_IShellBrowser =                            "{000214E2-0000-0000-C000-000000000046}"
$IID_IShellView =                               "{000214E3-0000-0000-C000-000000000046}"
$IID_IContextMenu =                             "{000214E4-0000-0000-C000-000000000046}"
$IID_IShellIcon =                               "{000214E5-0000-0000-C000-000000000046}"
$IID_IShellFolder =                             "{000214E6-0000-0000-C000-000000000046}"
$IID_IShellExtInit =                            "{000214E8-0000-0000-C000-000000000046}"
$IID_IShellPropSheetExt =                       "{000214E9-0000-0000-C000-000000000046}"
$IID_IPersistFolder =                           "{000214EA-0000-0000-C000-000000000046}"
$IID_IExtractIconA =                            "{000214EB-0000-0000-C000-000000000046}"
$IID_IShellDetails =                            "{000214EC-0000-0000-C000-000000000046}"
$IID_IShellLinkA =                              "{000214EE-0000-0000-C000-000000000046}"
$IID_ICopyHookA =                               "{000214EF-0000-0000-C000-000000000046}"
$IID_IFileViewerA =                             "{000214F0-0000-0000-C000-000000000046}"
$IID_ICommDlgBrowser =                          "{000214F1-0000-0000-C000-000000000046}"
$IID_IEnumIDList =                              "{000214F2-0000-0000-C000-000000000046}"
$IID_IFileViewerSite =                          "{000214F3-0000-0000-C000-000000000046}"
$IID_IContextMenu2 =                            "{000214F4-0000-0000-C000-000000000046}"
$IID_IShellExecuteHookA =                       "{000214F5-0000-0000-C000-000000000046}"
$IID_IPropSheetPage =                           "{000214F6-0000-0000-C000-000000000046}"
$IID_INewShortcutHookW =                        "{000214F7-0000-0000-C000-000000000046}"
$IID_IFileViewerW =                             "{000214F8-0000-0000-C000-000000000046}"
$IID_IShellLinkW =                              "{000214F9-0000-0000-C000-000000000046}"
$IID_IExtractIconW =                            "{000214FA-0000-0000-C000-000000000046}"
$IID_IShellExecuteHookW =                       "{000214FB-0000-0000-C000-000000000046}"
$IID_ICopyHookW =                               "{000214FC-0000-0000-C000-000000000046}"
$IID_IRemoteComputer =                          "{000214FE-0000-0000-C000-000000000046}"
$IID_IQueryInfo =                               "{00021500-0000-0000-C000-000000000046}"
$IID_IBriefcaseStg =                            "{8BCE1FA1-0921-101B-B1FF-00DD010CCC48}"
$IID_IShellView2 =                              "{88E39E80-3578-11CF-AE69-08002B2E1262}"
$IID_IURLSearchHook =                           "{AC60F6A0-0FD9-11D0-99CB-00C04FD64497}"
$IID_ISearchContext =                           "{09F656A2-41AF-480C-88F7-16CC0D164615}"
$IID_IURLSearchHook2 =                          "{5ee44da4-6d32-46e3-86bc-07540dedd0e0}"
$IID_IDefViewID =                               "{985F64F0-D410-4E02-BE22-DA07F2B5C5E1}"
$IID_IDockingWindowSite =                       "{2a342fc2-7b26-11d0-8ca9-00a0c92dbfe8}"
$IID_IDockingWindowFrame =                      "{47d2657a-7b27-11d0-8ca9-00a0c92dbfe8}"
$IID_IShellIconOverlay =                        "{7D688A70-C613-11D0-999B-00C04FD655E1}"
$IID_IShellIconOverlayIdentifier =              "{0C6C4200-C589-11D0-999A-00C04FD655E1}"
$IID_ICommDlgBrowser2 =                         "{10339516-2894-11d2-9039-00C04F8EEB3E}"
$IID_IShellFolderViewCB =                       "{2047E320-F2A9-11CE-AE65-08002B2E1262}"
$IID_IShellIconOverlayManager =                 "{f10b5e34-dd3b-42a7-aa7d-2f4ec54bb09b}"
$IID_IThumbnailCapture =                        "{4ea39266-7211-409f-b622-f63dbd16c533}"
$IID_IShellImageStore =                         "{48C8118C-B924-11d1-98D5-00C04FB687DA}"
$IID_IContextMenu3 =                            "{BCFCE0A0-EC17-11d0-8D10-00A0C90F2719}"
$IID_IShellFolderBand =                         "{7FE80CC8-C247-11d0-B93A-00A0C90312E1}"
$IID_IDefViewFrame =                            "{710EB7A0-45ED-11D0-924A-0020AFC7AC4D}"
$IID_IDiscardableBrowserProperty =              "{49c3de7c-d329-11d0-ab73-00c04fc33e80}"
$IID_IObjMgr =                                  "{00BB2761-6A77-11D0-A535-00C04FD7D062}"
$IID_IACList =                                  "{77A130B0-94FD-11D0-A544-00C04FD7d062}"
$IID_IACList2 =                                 "{470141a0-5186-11d2-bbb6-0060977b464c}"
$IID_IShellChangeNotify =                       "{D82BE2B1-5764-11D0-A96E-00C04FD705A2}"
$IID_ICurrentWorkingDirectory =                 "{91956D21-9276-11d1-921A-006097DF5BD4}"
$IID_IProgressDialog =                          "{EBBC7C04-315E-11d2-B62F-006097DF5BD4}"
$IID_IActiveDesktop =                           "{F490EB00-1240-11D1-9888-006097DEACF9}"
$IID_IActiveDesktopP =                          "{52502EE0-EC80-11D0-89AB-00C04FC2972D}"
$IID_IADesktopP2 =                              "{B22754E2-4574-11d1-9888-006097DEACF9}"
$IID_ISynchronizedCallBack =                    "{74C26041-70D1-11d1-B75A-00A0C90564FE}"
$IID_IQueryAssociations =                       "{c46ca590-3c3f-11d2-bee6-0000f805ca57}"
$IID_IColumnProvider =                          "{E8025004-1C42-11d2-BE2C-00A0C9A83DA1}"
$IID_INamedPropertyBag =                        "{FB700430-952C-11d1-946F-000000000000}"
$IID_IShellFolder2 =                            "{93F2F68C-1D1B-11d3-A30E-00C04F79ABD1}"
$IID_IEnumExtraSearch =                         "{0E700BE1-9DB6-11d1-A1CE-00C04FD75D13}"
$IID_IFileSystemBindData =                      "{01E18D10-4D8B-11d2-855D-006008059367}"
$IID_IDocViewSite =                             "{87D605E0-C511-11CF-89A9-00A0C9054129}"
$IID_CDefView =                                 "{4434FF80-EF4C-11CE-AE65-08002B2E1262}"
$IID_IBanneredBar =                             "{596A9A94-013E-11d1-8D34-00A0C90F2719}"
Posted (edited)

Well, here's my small contribution :mellow:

For highlighting and calltips, add to the following files (create them if they don't already exist):

au3.user.calltips.api (in the Scite\api directory)

_AutoItObject_VariantRead($pVariant) Reads the value of a VARIANT. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_VariantSet($pVar, $vVal, $iSpecialType = 0) Sets the value of a varaint or creates a new one. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_VariantCopy($pvargDest, $pvargSrc) Copies a VARIANT to another. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_VariantClear($pvarg) Clears the value of a variant. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_VariantFree($pvarg) Frees a variant created by _AutoItObject_VariantSet. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_Startup([$fLoadDLL = False [, $sDll = "AutoitObject.dll"]]) Initializes AutoItObject. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_Shutdown() Frees the AutoItObject DLL. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_WrapperCreate($pUnknown, ByRef $tagInterface) Creates an IDispatch-Object for COM-Interfaces normally not supportting it. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_WrapperAddMethod(ByRef $oWrapper, $sReturnType, $sName, $sParamTypes, $ivtableIndex) Adds additional methods to the Wrapper-Object, e.g if you want alternative parameter types. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_Class() AutoItObject COM wrapper function. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_Create([$oParent = 0]) Creates an AutoIt-object. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_AddMethod(ByRef $oObject, $sName, $sAutoItFunc [, $fPrivate = False]) Adds a method to an AutoIt-object. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_AddProperty(ByRef $oObject, $sName, $iFlags = $ELSCOPE_PUBLIC, $vData = 0) Adds a property to an AutoIt-object. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_AddDestructor(ByRef $oObject, $sAutoItFunc) Adds a destructor to an AutoIt-object. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_AddEnum(ByRef $oObject, $sNextFunc, $sResetFunc [, $sSkipFunc = '']) Adds an Enum to an AutoIt-object. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_RemoveMember(ByRef $oObject, $sMember) Removes a property or a function from an AutoIt-object. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_IUnknownAddRef(ByRef $pUnknown) Increments the refrence count of an IUnknown-object. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_CLSIDFromString($sString, ByRef $tCLSID) Converts a string to a CLSID-Struct (GUID-Struct). (Requires: #Include <AutoItObject.au3>)
_AutoItObject_CoCreateInstance($rclsid, $pUnkOuter, $dwClsContext, $riid, ByRef $ppv) Creates a single uninitialized object of the class associated with a specified CLSID. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_PtrToIDispatch($pIDispatch) Converts IDispatch pointer to AutoIt's object type. (Requires: #Include <AutoItObject.au3>)
_AutoItObject_IDispatchToPtr(ByRef $oIDispatch) Returns pointer to AutoIt's object type. (Requires: #Include <AutoItObject.au3>)

au3.userudfs.properties (in the Scite\Properties directory)

au3.keywords.user.udfs=_autoitobject_variantread _autoitobject_variantset _autoitobject_variantcopy _autoitobject_variantclear _autoitobject_variantfree _autoitobject_startup \
    _autoitobject_shutdown _autoitobject_wrappercreate _autoitobject_wrapperaddmethod _autoitobject_class _autoitobject_create _autoitobject_addmethod \
    _autoitobject_addproperty _autoitobject_adddestructor _autoitobject_addenum _autoitobject_removemember _autoitobject_iunknownaddref _autoitobject_clsidfromstring \
    _autoitobject_cocreateinstance _autoitobject_ptrtoidispatch _autoitobject_idispatchtoptr

To open the help file from Scite:

1) Extract 'AutoItObject.chm' to your AutoIt3 directory

2) Download my ChmHlp help file helper app and extract it to your AutoIt3 directory (source IS included in the download)

3) Add the following to 'au3.properties' to activate via Ctrl+F1:

# 36 AutoItObject Help
command.36.$(au3)=$(autoit3dir)\ChmHlp.exe "$(autoit3dir)\AutoItObject.chm" "$(CurrentWord)"
command.name.36.$(au3)=AutoItObject Help
command.subsystem.36.$(au3)=2
command.save.before.36.$(au3)=2
command.shortcut.36.$(au3)=Ctrl+F1

OR

(I don't recommend this method, as it ties the help window to Scite as a child window.)

1) (as above)

2) Add the following to 'au3.properties' to activate via Ctrl+F1:

# 36 AutoItObject Help
command.36.$(au3)=$(CurrentWord)!$(autoit3dir)\AutoItObject.chm
command.name.36.$(au3)=AutoItObject Help
command.subsystem.36.$(au3)=4
command.save.before.36.$(au3)=2
command.shortcut.36.$(au3)=Ctrl+F1

Congrats to all the devs involved in this project. Keep up the great work!

Edited by wraithdu
Posted (edited)

Well, here's my small contribution :mellow:

For highlighting and calltips, add to the following files:

au3.user.calltips.api

_AutoItObject_VariantRead($pVariant) Reads the value of a VARIANT.
_AutoItObject_VariantSet($pVar, $vVal, $iSpecialType = 0) Sets the value of a varaint or creates a new one.
_AutoItObject_VariantCopy($pvargDest, $pvargSrc) Copies a VARIANT to another.
_AutoItObject_VariantClear($pvarg) Clears the value of a variant.
_AutoItObject_VariantFree($pvarg) Frees a variant created by _AutoItObject_VariantSet.
_AutoItObject_Startup([$fLoadDLL = False [, $sDll = "AutoitObject.dll"]]) Initializes AutoItObject.
_AutoItObject_Shutdown() Frees the AutoItObject DLL.
_AutoItObject_WrapperCreate($pUnknown, ByRef $tagInterface) Creates an IDispatch-Object for COM-Interfaces normally not supportting it.
_AutoItObject_WrapperAddMethod(ByRef $oWrapper, $sReturnType, $sName, $sParamTypes, $ivtableIndex) Adds additional methods to the Wrapper-Object, e.g if you want alternative parameter types.
_AutoItObject_Class() AutoItObject COM wrapper function.
_AutoItObject_Create([$oParent = 0]) Creates an AutoIt-object.
_AutoItObject_AddMethod(ByRef $oObject, $sName, $sAutoItFunc [, $fPrivate = False]) Adds a method to an AutoIt-object.
_AutoItObject_AddProperty(ByRef $oObject, $sName, $iFlags = $ELSCOPE_PUBLIC, $vData = 0) Adds a property to an AutoIt-object.
_AutoItObject_AddDestructor(ByRef $oObject, $sAutoItFunc) Adds a destructor to an AutoIt-object.
_AutoItObject_AddEnum(ByRef $oObject, $sNextFunc, $sResetFunc [, $sSkipFunc = '']) Adds an Enum to an AutoIt-object.
_AutoItObject_RemoveMember(ByRef $oObject, $sMember) Removes a property or a function from an AutoIt-object.
_AutoItObject_IUnknownAddRef(ByRef $pUnknown) Increments the refrence count of an IUnknown-object.
_AutoItObject_CLSIDFromString($sString, ByRef $tCLSID) Converts a string to a CLSID-Struct (GUID-Struct).
_AutoItObject_CoCreateInstance($rclsid, $pUnkOuter, $dwClsContext, $riid, ByRef $ppv) Creates a single uninitialized object of the class associated with a specified CLSID.
_AutoItObject_PtrToIDispatch($pIDispatch) Converts IDispatch pointer to AutoIt's object type.
_AutoItObject_IDispatchToPtr(ByRef $oIDispatch) Returns pointer to AutoIt's object type.

au3.UserUdfs.properties

_autoitobject_variantread _autoitobject_variantset _autoitobject_variantcopy _autoitobject_variantclear _autoitobject_variantfree _autoitobject_startup \
_autoitobject_shutdown _autoitobject_wrappercreate _autoitobject_wrapperaddmethod _autoitobject_class _autoitobject_create _autoitobject_addmethod \
_autoitobject_addproperty _autoitobject_adddestructor _autoitobject_addenum _autoitobject_removemember _autoitobject_iunknownaddref _autoitobject_clsidfromstring \
_autoitobject_cocreateinstance _autoitobject_ptrtoidispatch _autoitobject_idispatchtoptr

To open the help file from Scite:

1) Extract 'AutoItObject.chm' to your AutoIt3 directory

2) Download my ChmHlp help file helper app and extract it to your AutoIt3 directory (source IS included in the download)

3) Add the following to 'au3.properties' to activate via Ctrl+F1:

# 36 AutoItObject Help
command.36.$(au3)=$(autoit3dir)\ChmHlp.exe "$(autoit3dir)\AutoItObject.chm" "$(CurrentWord)"
command.name.36.$(au3)=AutoItObject Help
command.subsystem.36.$(au3)=2
command.shortcut.36.$(au3)=Ctrl+F1

OR

(I don't recommend this method, as it ties the help window to Scite as a child window.)

1) (as above)

2) Add the following to 'au3.properties' to activate via Ctrl+F1:

# 36 AutoItObject Help
command.36.$(au3)=$(CurrentWord)!$(autoit3dir)\AutoItObject.chm
command.name.36.$(au3)=AutoItObject Help
command.subsystem.36.$(au3)=4
command.shortcut.36.$(au3)=Ctrl+F1

Congrats to all the devs involved in this project. Keep up the great work!

Great.

Here's what I got out of that:

  • au3.user.calltips.api - ok, tips showing
  • au3.UserUdfs.properties - where do I add/create/change this file?
  • help file from Scite - god dammit, I fell stupid. Just can't make it work.

edit: got that help showing, yay!

Edited by trancexx

♡♡♡

.

eMyvnE

Posted (edited)

Oh sorry, forgot that file isn't there by default. Create au3.UserUdfs.properties in your Scite/properties folder. You'll probably have to reload Scite to see everything work.

There's a heading line at the first line I can't remember and I'm away from my laptop at the moment. See the UserUdfs file provided by the WinAPIEx UDF for a working example until I can update my post.

Edited by wraithdu

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...