Jump to content











Photo
- - - - -

File Explorer refresh function


  • Please log in to reply
10 replies to this topic

#1 spleenharvester

spleenharvester

    Member

  • Members
  • 92 posts
  •  
    United Kingdom

Posted 19 September 2017 - 01:48 PM

Hi all.

 

I have a basic File Explorer setup working on my WinPE image, and would like to replace my file browser (multicommander) with File Explorer.

 

The issue is that automatic refresh does not work, eg when moving or deleting files. Automatic refresh only works when I have a 'full' background Explorer process running, ie with taskbar etc in the background - which I do not want to do for various reasons (mostly stability as this is a recovery image and hence would add another point of failure).

 

Can anyone think of a way I could work around this issue and make File Explorer refresh without the background process running? (Or at least make the background process run without initialising taskbar, desktop window manager etc?)

 

Cheers


Edited by spleenharvester, 19 September 2017 - 02:29 PM.


#2 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 19 September 2017 - 04:15 PM

By File Explorer you mean "Explorer.exe", right?

I.e. the default windows shell that is also a File Manager.

I don't think that you can have what you ask (using Explorer as File Manager and have the refresh without loading it as shell).

Which WinPE (exact version) is it?

Any reason why you explicitly want/need Explorer? (there are several replacements for it available, I know this is not what you asked, just as an example personally I normally use 7-zip as file manager in dual pane setup, but there are several file managers very similar to Explorer in look and behaviour, such as - say - Explorer++).

 

:duff:

Wonko



#3 spleenharvester

spleenharvester

    Member

  • Members
  • 92 posts
  •  
    United Kingdom

Posted 19 September 2017 - 04:27 PM

By File Explorer you mean "Explorer.exe", right?

I.e. the default windows shell that is also a File Manager.

I don't think that you can have what you ask (using Explorer as File Manager and have the refresh without loading it as shell).

Which WinPE (exact version) is it?

Any reason why you explicitly want/need Explorer? (there are several replacements for it available, I know this is not what you asked, just as an example personally I normally use 7-zip as file manager in dual pane setup, but there are several file managers very similar to Explorer in look and behaviour, such as - say - Explorer++).

 

:duff:

Wonko

 

Yes, that's exactly what I would require! - I agree what I am asking is probably not possible, but I'm just having a think about how I might get around this problem. It is a WinRE image based on 10.0.14393.0 that still uses WinPE shell.

 

A lot of third-party file managers still rely upon having Explorer loaded as the shell (>hence a lot of these have the same problem in WinPE). Currently I use MultiCommander. Great interface, however, in the light of recent third party software hacks (eg CCleaner, Audacity etc...) I would like to remove as much third-party code as possible.

 

I think other PE shells do have the auto refresh ability, if memory serves - I might try pulling them apart and seeing how this functionality is replicated.



#4 Guest_AnonVendetta_*

Guest_AnonVendetta_*
  • Guests

Posted 25 September 2017 - 10:55 PM

@spleenharvester: Take a moment and *look* at what you're posting....since when is Explorer itself not 3rd-party code? It's written by a for-profit corporation, and its' code is proprietary/closed source at that. I would say that your best bet would be to use an alternative shell and a file manager that auto-refreshes, and preferably free, open source and has a small footprint. Manually load Explorer when you run some program that doesn't work right when it isn't loaded.

 

My personal preferences for alternative shells/file managers, none of which depend on Explorer:

 

Blackbox

LiteStep

Far Manager

Total Commander

Q-Dir



#5 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 04 October 2017 - 02:46 PM

since when is Explorer itself not 3rd-party code? It's written by a for-profit corporation, and its' code is proprietary/closed source ...

Since the dawn of time, it is written by the SAME party as the OS.

 

:duff:

Wonko



#6 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 04 October 2017 - 07:11 PM

@spleenharvester: Take a moment and *look* at what you're posting....since when is Explorer itself not 3rd-party code? It's written by a for-profit corporation, and its' code is proprietary/closed source at that. I would say that your best bet would be to use an alternative shell and a file manager that auto-refreshes, and preferably free, open source and has a small footprint. Manually load Explorer when you run some program that doesn't work right when it isn't loaded.

 

My personal preferences for alternative shells/file managers, none of which depend on Explorer:

 

Blackbox

LiteStep

Far Manager

Total Commander

Q-Dir

 

I am also using explorer++ in my winpe builds and I am quite happy with it.


  • Brito likes this

#7 Uneitohr

Uneitohr

    Frequent Member

  • Advanced user
  • 219 posts

Posted 06 October 2017 - 09:51 PM

But which one would you say is best?

 

When I run WinPE from a windows dvd install, I mostly open notepad.exe and just use File, Open to get a navigation prompt and just use that.



#8 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 08 October 2017 - 01:44 PM

But which one would you say is best?

 

When I run WinPE from a windows dvd install, I mostly open notepad.exe and just use File, Open to get a navigation prompt and just use that.

 

I am not sure there is answer to that : everyone will have its own preference.

I like explorer++ as this is the closest (to me) to the windows explorer.



#9 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 08 October 2017 - 03:31 PM

And I like 7-zip as file manager (with or without a shell such as BBlean/Blackbox) because in the two panes configuration is similar enough to an OFM (which is how file managers should be made):

 

http://www.softpanor...OFM/index.shtml

 

and allows to open disc/disk image files besides wim/bzip/gzip/zip/cab/cpio/rar/7z etc.archives and SFX's.

 

:duff:

Wonko


  • Uneitohr likes this

#10 Uneitohr

Uneitohr

    Frequent Member

  • Advanced user
  • 219 posts

Posted 08 October 2017 - 09:15 PM

And I like 7-zip as file manager (with or without a shell such as BBlean/Blackbox) because in the two panes configuration is similar enough to an OFM (which is how file managers should be made):

 

http://www.softpanor...OFM/index.shtml

 

and allows to open disc/disk image files besides wim/bzip/gzip/zip/cab/cpio/rar/7z etc.archives and SFX's.

 

:duff:

Wonko

 

7-zip was under my nose the whole time and I never thought about using it like a file manager.

I assume it works in WinPE (hence your suggestion) but does it support automatically refresh?



#11 slore

slore

    Member

  • Members
  • 51 posts
  •  
    China

Posted 09 October 2017 - 02:19 PM

when I written WinXShell.exe(my simple portable shell program), I also got this issue,

after searching on the Internet, there was no usefull infomation.

 

in PE, well I kill the wallpaperhost.exe,I found the FileOpenDialog can auto refresh.

so if there is no shell window, the system file manager will auto refresh.

 

with debug the system process, I got my solution.

 

hook GetShellWindow API, make this return 0 for the caller, now I can use my shell and the modified-file-open-dialog

(remove the OK, Cancel button) as File Manager to work with auto refreshing.

 

HOPE someone knows how to handle the Shell Change Notifition by a NORMAL way.

 

===========================================================================

  shell32.dll!SHChangeNotifyRegisterThread()
    shell32.dll!_SCNGetWindow()
      shell32.dll!_SCNGetWindow()
        shell32.dll!_GetDesktop(void) <- find the desktop shell window
         test eax, eax
        75 1E jne xxx
        shell32.dll!SCNInitialize()   <- if no shell window, create a new thread to handle SCN,so this  cause auto refresh.
===========================================================================
 
change a byte in shell32.dll, 75 -> 74 or 2 bytes 75 1E -> 90 90,
then the window won't call the GLOBAL desktop shell window to deal with SCN, but the application themself.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users