Jump to content
Sign in to follow this  
JohnBailey

Explorer Obj

Recommended Posts

JohnBailey

Does anyone know where to start in creating a "UDF" for Explorer windows similar to what Dale did for IE?


A decision is a powerful thing

Share this post


Link to post
Share on other sites
ptrex
JohnBailey

@

Maybe here :

COM Object Browser

But it's still in a beta stage.

regards

ptrex

Looks cool ... but I don't understand it.


A decision is a powerful thing

Share this post


Link to post
Share on other sites
JohnBailey

I think what I'm looking for is call Windows Shell or Shell Explorer


A decision is a powerful thing

Share this post


Link to post
Share on other sites
JohnBailey

Here's an example

You can see that once it switches to the shell we no longer have control over it. :)

$ObjIE = ObjCreate("InternetExplorer.Application")
With $ObjIE
   .Visible = True
   .Navigate ("I:\")
  
EndWith

Sleep(5000)

$ObjIE.Navigate("C:\"); nope you can't do that.

$ObjIE = 0; remember to free component

Exit

A decision is a powerful thing

Share this post


Link to post
Share on other sites
JohnBailey

As KjActive shows #321863

Shell.Explorer.2 gives you control BUT i don't want it in a Au3 GUI i want to control the native Explorer app/shell

$ObjIE = ObjCreate("Shell.Explorer.2")
GUICreate("Embedded Web control Test", 640, 580,(@DesktopWidth-640)/2, (@DesktopHeight-580)/2 , $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
$GUIActiveX = GUICtrlCreateObj($ObjIE, 0, 0 , 640 , 580 )
With $ObjIE
   .Visible = True
   .Navigate ("I:\")
  
EndWith

Sleep(5000)

$ObjIE.Navigate("C:\")

$ObjIE = 0; remember to free component

Exit

A decision is a powerful thing

Share this post


Link to post
Share on other sites
JohnBailey

This does something

$ObjIE = ObjCreate("Shell.Application")
If Not IsObj($ObjIE) Then
    MsgBox(0,'','')
    Exit
Endif

BUT how do I show it? make it visible?


A decision is a powerful thing

Share this post


Link to post
Share on other sites
Blue_Drache

This does something

$ObjIE = ObjCreate("Shell.Application")
If Not IsObj($ObjIE) Then
    MsgBox(0,'','')
    Exit
Endif

BUT how do I show it? make it visible?

Maybe ...

$ObjIE.visible ... Just a guess.


Lofting the cyberwinds on teknoleather wings, I am...The Blue Drache

Share this post


Link to post
Share on other sites
JohnBailey

Maybe ...

$ObjIE.visible ... Just a guess.

yeah I tried that :)


A decision is a powerful thing

Share this post


Link to post
Share on other sites
JohnBailey

This seems to be doing the trick

but i don't know

why Explore and Open do the same thing

and

why shell.application and shell.explorer both exist

I cannot find any msdn articles on this stuff. They are deadlinks :)

$oShell = ObjCreate("shell.application")   ; Get the Windows Shell Object
$oShell_Open=$oShell.open('C:\')
;$oShell.Explore('I:\')
MsgBox(0,'Shell Msg',$oShell.NameSpace('C:\').Self.Name)

A decision is a powerful thing

Share this post


Link to post
Share on other sites
JohnBailey

This seems to be doing the trick

but i don't know

why Explore and Open do the same thing

and

why shell.application and shell.explorer both exist

I cannot find any msdn articles on this stuff. They are deadlinks :)

$oShell = ObjCreate("shell.application")  ; Get the Windows Shell Object
$oShell_Open=$oShell.open('C:\')
;$oShell.Explore('I:\')
MsgBox(0,'Shell Msg',$oShell.NameSpace('C:\').Self.Name)

the .Explore() will open a shell.application window with the folderview activated.


A decision is a powerful thing

Share this post


Link to post
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
Sign in to follow this  

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.