Jump to content

com objects and the shell


Recommended Posts

Hello...

From the new beta ... :whistle: information on COM, I have the COM/OLE viewer... (thanks)

However i really need to work out/find out what things i can do with the shell (specifically windows explorer folders) with the COM interface...

Im afraid i can quite work out (or find any real 'hard' info via google) what things i can ask for/make it do now that i have the COM interface...

eg:

Am i able to detect mouse events on a folder window?

AM i able to get the column widths of the details listview thru COM at all...

Can anyone point me at some info about this .. as although i have scanned the MSDN shell topics, im still adrift as to what/and how i would go about getting anything to actually do anything.

I cant really work out from the COM/OLE viewer what bits of the shell i can "plug into" there either ...

Thanks...

Link to comment
Share on other sites

Unfortunately, you didn't say what you had already tried, so I'll point you to the spot I start with and perhaps it is new to you. The Shell object is a very strange beast because it has many personalities and seperate sets of properties and methods for each. Anyway, I suggest you start here and dig to the shell variant you want to work with:

Scriptable Shell Objects

Dale

Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl

MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model

Automate input type=file (Related)

Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded  Better Better?

IE.au3 issues with Vista - Workarounds

SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y

Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead?

Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble

Link to comment
Share on other sites

Thanks Dale:

im just not sure exactly where i look to find out what i can do:

for example i got this off the web:

$oShell = ObjCreate("Shell.Application") ; Get the Windows Shell Object

$oShellWindows=$oShell.windows ; Get the collection of open shell Windows

if Isobj($oShellWindows) then ; yes we have some shell windows

$string="" ; String for displaying purposes

for $Window in $oShellWindows ; Count all existing shell windows

;$String = $String & $window.LocationName & @CRLF

$String = $String & $window.LocationURL & @CRLF

next

Msgbox(0,"Shell Windows","You have the following shell windows:" & @CRLF & @CRLF & $String);

endif

where the key bit is using the $window.LocationURL to get the full path of a folder (shell) window...

However i have no idea where that particular method/property is documented either in MSDN or where i would find it using the OLE viewer...

I of course would like a list of all the things i can get/set in shell folders...

Im particularly interested in how i would go about:

getting the listview type (ie thunbs, details etc)

and if details, getting info on which details and the column withs etc etc...

and also being able to set these back into an open listview...

getting/setting/trapping and handling any message events on a shell window would also be good...

Any further pointers at all?

Thanks Howard

Link to comment
Share on other sites

Im particularly interested in how i would go about:

getting the listview type (ie thunbs, details etc)

and if details, getting info on which details and the column withs etc etc...

and also being able to set these back into an open listview...

getting/setting/trapping and handling any message events on a shell window would also be good...

Any further pointers at all?

Thanks Howard

<{POST_SNAPBACK}>

I don't know anything other than what is available from that page... there are references there to a tremendous number of objects, all with their own set of attributes and methods.

I have been focusing on the IE instances of the Shell and not on the Folder instances so I have not really studied them. Click on the links on that page that say "Shell object", "Folder object", "FolderItem object" etc to see a breakdown of the attributes for each. In MSDN fashion you may wear out your first mouse button before you drill to the right spot.

good luck.

Dale

Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl

MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model

Automate input type=file (Related)

Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded  Better Better?

IE.au3 issues with Vista - Workarounds

SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y

Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead?

Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble

Link to comment
Share on other sites

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
 Share

  • Recently Browsing   0 members

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