Jump to content

neoSearch 1.86


KJohn
 Share

Recommended Posts

OpenIndex Is Left Out Is It Slow??

"left out"?

If you're interested to hear my thoughts, I'll have a look later; I also got "put off" when I couldn't see what was happening; I'm only interested in this Neo program when there is no full source because the appearance is good..

Best, randall

Link to comment
Share on other sites

  • Replies 256
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

"left out"?

If you're interested to hear my thoughts, I'll have a look later; I also got "put off" when I couldn't see what was happening; I'm only interested in this Neo program when there is no full source because the appearance is good..

Best, randall

That It :whistle:

Ya and the Attachment space how do we got more ??

Link to comment
Share on other sites

FOR MAXIMUM PERFORMANCE

1. Index only those locations you need (Options > Include)

But it seems to have "taken over" and indexed ALL my drives, even networked mapped, so search is very slow; but these drives/ locations were never requested, and not in "Include" config?

How come?

Also, I have some doubt when I put a folder in "Include" that it is indexing the subfolders; not when I have tried... I am lost with this program at the moment.

Best, Randall

Link to comment
Share on other sites

But it seems to have "taken over" and indexed ALL my drives, even networked mapped, so search is very slow; but these drives/ locations were never requested, and not in "Include" config?

How come?

Also, I have some doubt when I put a folder in "Include" that it is indexing the subfolders; not when I have tried... I am lost with this program at the moment.

Best, Randall

I think Neo Search for Default file and Options > Include too

Link to comment
Share on other sites

But it seems to have "taken over" and indexed ALL my drives, even networked mapped, so search is very slow; but these drives/ locations were never requested, and not in "Include" config?

How come?

Also, I have some doubt when I put a folder in "Include" that it is indexing the subfolders; not when I have tried... I am lost with this program at the moment.

Best, Randall

i'll reply in detail to the other post soon.. but for this:

- neoSearch indexes only a user's personal folders at first.

- then it states that to you that all possible locations are not indexed and asks u if u want to index it. It defaults to yes if you don't reply in 5 seconds or less...

It indexes every folder except those that match a condition like (which might be why u u can't find some files in the index)

- its system or hidden (i've had ppl saying their hidden files are now in the open for others to find)

- finds only 40 standard file types. Additional filetypes can be included on request.

- Folders like the windows directory and contents are by default ignored, unless the "index system files" option is set.

Some standard file locations enabled by default always:

@DesktopCommonDir

@DocumentsCommonDir

@FavoritesCommonDir

@StartMenuCommonDir

@DesktopDir

@MyDocumentsDir

@FavoritesDir

@StartMenuDir

If these paths are in network locations, yes, they will be indexed. I did this for user friendliness. Can be removed from the code if ppl are having problems. I'll put it up as an option.

Anything else related to this?

Edited by Koshy John
Link to comment
Share on other sites

hi,

It defaults to yes if you don't reply in 5 seconds or less

- so it did it while I wasn't paying attention? - I don't like thta much...

I have some doubt when I put a folder in "Include" that it is indexing the subfolders

you haven't answered this.. a file "searchminerG.au3" is in a directory and the subfolder; but only "found" in the main folder!

which might be why u u can't find some files in the index

I don't think it is a filetype problem?; see above.

Best, randall

PS perhaps I can check the index to see if the file is found there... where is the index and what is its name?

Link to comment
Share on other sites

hi,

- so it did it while I wasn't paying attention? - I don't like thta much...

you haven't answered this.. a file "searchminerG.au3" is in a directory and the subfolder; but only "found" in the main folder!

I don't think it is a filetype problem?; see above.

Best, randall

PS perhaps I can check the index to see if the file is found there... where is the index and what is its name?

Ironically, au3 is not a supported filetype as of now on neoSearch...

try putting another file for eg: doc in the same location and see if it repeats...

If i understand ur question rite:

u've included lets say C:\Example

you were able to find C:\Example\FireIce

but not C:\Example\searchminerG.au3 ?

If that's the case the solution is as above..

Link to comment
Share on other sites

Powerful Program

My program is sux :whistle:

so miserable! - Neo has been at it for years!

You have done a huge job quickly, and you'll get it how you want it!

file types - Koshy

@Koshy - I can't find where to change file types.. and you thought my options were too complicated! At least you'll be able to find the programs if they are there without all this exclusion stuff!

Best, randall

Link to comment
Share on other sites

so miserable! - Neo has been at it for years!

You have done a huge job quickly, and you'll get it how you want it!

@Koshy - I can't find where to change file types.. and you thought my options were too complicated! At least you'll be able to find the programs if they are there without all this exclusion stuff!

Best, randall

filetypes - sry, gave u the wrong impression... wht i meant was, I can manually add support for other filetypes in the code... i didn't want to complicate it with options for filetypes in the main program... i've given the users very little option so that more people are comfortable with using it...

I know people get intimidated seeing a lot of options they don't understand right away... I know I do...

Take Google desktop for instance... There very little you can actually configure in that program... Much less than mine...

All the exlusions are to improve performance of AutoIt. If I did not, things would be pathetically slow... for example, there are possibly more *.sys files on a Vista system than MOST users have MP3s... And most users don't search for *.sys files, especially since its not executable...

Your program is more suited to advanced users while mine assumes that the user is brain dead... :lmao:

I'll try to make this "compulsory" settings optional as soon as I can...

But please be patient since I've lot of stuff to do in my 'non-AutoIt' life at the moment... And I don't want to put in new functionality without extensively testing whether existing functionality is functiong as before... You know what we call regression testing in software engineering (just learnt it this sem; just applying what I learn :whistle:)...

Link to comment
Share on other sites

neoSearch.... looks great, really fast - well done.

A couple of requests (I maybe repeating what others have asked ... :whistle: )

neoSearch didn't find any of my .au3 files or a number of other file types that I regularily work with - can you add an option to add additional file types.

neoSearch only lists 4 files - there are sometimes far more than 4 versions of a file dotted round the place - can you add option to set max number of displayed results - eg 10 or 20 - and provide scroll bar.

Cheers.

Link to comment
Share on other sites

Powerful Program

My program is sux :whistle:

Hey, I've had a year of head start!

(started work on KJSearch in April 2006; started work on neoSearch in April 2007; my b'day's april 1st.... lol)

So you can't do that kind of a comparison...

Here's a copy of the code I wrote back then...

This copy of KJSearch: 309 lines - 10 KB of code

neoSearch: 3000lines - 102 KB of code (and all of it except sections of the options window were written from scratch!)

; ----------------------------------------------------------------------------
;
; Author: Koshy John
; E-mail: koshyjohnuk@msn.com
; Blog  : http://spaces.msn.com/koshyjohnuk
;
; Program: FileSearch v0.01
; Purpose: To search for files on the HDD.
; Date   : 13th April 2006
;
; ----------------------------------------------------------------------------

#NoTrayIcon
#include<process.au3> ;for _RunDOS
#include<file.au3> ;for _FileCountLines

AutoItSetOption("MustDeclareVars", 0)
AutoItSetOption("RunErrorsFatal", 0)
AutoItSetOption("TrayIconDebug", 0)
AutoItSetOption("TrayIconHide", 1)
Break(0)

;=================================================
;START OF MAIN SCRIPT :: koshyjohnuk
;=================================================

;INITIALIZING PROGRAM
;====================
HotKeySet("{ESC}", "Leave")

;checking windows partition
Global $wp=@ProgramFilesDir&"\KJohn\DSearch"
Global $title="DesktopSearch | koshyjohnuk"
Global $find,$timetaken

;SCANNING DRIVES IN THE BACKGROUND
;---------------------------------

;checking OS version
If @OSVersion=="WIN_95" Then os()
If @OSVersion=="WIN_98" Then os()
If @OSVersion=="WIN_ME" Then os()
If @OSVersion=="WIN_NT4" Then os()
If @OSVersion=="WIN_2000" Then os()
;checking if user has admin priveleges
If IsAdmin()<>1 Then Leave()
reindex()

;==============================
;STARTING ACTUAL SEARCH PORTION
;==============================

;init the results page
DirRemove(@TempDir&"\kjds",1)
DirCreate(@TempDir&"\kjds")
FileInstall("Results\kjds.htm",@TempDir&"\kjds\all.htm",1)
FileInstall("Results\kjds.htm",@TempDir&"\kjds\folders.htm",1)
FileInstall("Results\kjds.htm",@TempDir&"\kjds\progs.htm",1)
FileInstall("Results\kjds.htm",@TempDir&"\kjds\docs.htm",1)
FileInstall("Results\kjds.htm",@TempDir&"\kjds\imgs.htm",1)
FileInstall("Results\kjds.htm",@TempDir&"\kjds\music.htm",1)
FileInstall("Results\kjds.htm",@TempDir&"\kjds\videos.htm",1)
FileInstall("Results\kjsbg.png",@TempDir&"\kjds\kjsbg.png",1)
FileInstall("Results\logo.png",@TempDir&"\kjds\logo.png",1)
FileInstall("Results\bar.png",@TempDir&"\kjds\bar.png",1)
FileInstall("Results\DEF.png",@TempDir&"\kjds\DEF.png",1)
FileInstall("Results\DIR.png",@TempDir&"\kjds\DIR.png",1)
FileInstall("Results\DOC.png",@TempDir&"\kjds\DOC.png",1)
FileInstall("Results\EXE.png",@TempDir&"\kjds\EXE.png",1)
FileInstall("Results\IMG.png",@TempDir&"\kjds\IMG.png",1)
FileInstall("Results\PDF.png",@TempDir&"\kjds\PDF.png",1)
FileInstall("Results\PPT.png",@TempDir&"\kjds\PPT.png",1)
FileInstall("Results\WMP.png",@TempDir&"\kjds\WMP.png",1)
FileInstall("Results\XLS.png",@TempDir&"\kjds\XLS.png",1)
FileInstall("Results\ZIP.png",@TempDir&"\kjds\ZIP.png",1)

$html=FileOpen(@TempDir&"\kjds.htm",1)

;USER INPUT
$find=InputBox($title,"Enter a part of the name of the file/folder you want to find:"&@LF&"(Tip: Input '/reindex' to reindex drives)",""," M",320,140)
If $find=="/reindex" Then
    FileDelete($wp&"\data\files.dat")
    FileDelete($wp&"\data\type.dat")
    FileDelete($wp&"\data\code.dat")
    FileDelete($wp&"\data\raw.dat")
    reindex()
    $find=InputBox($title,"Enter a part of the name of the file/folder you want to find:"&@LF&"(Tip: Drives have been reindexed)",""," M",320,140)
EndIf
If $find=="" Then Exit

;SCANNING THE SELECTED INDEX
;===========================
$fcom=FileOpen($wp&"\data\files.dat",0) ;filename
$ftype=FileOpen($wp&"\data\type.dat",0) ;filetype
$fcode=FileOpen($wp&"\data\code.dat",0) ;full file HTML code

ProgressOn($title,"","Scanning index... 0 files/folders found.")
$ftot=100/_FileCountLines($wp&"\data\files.dat")
$fmod=5*Round(_FileCountLines($wp&"\data\files.dat")/100)
$fmodc=0
$html1=FileOpen(@TempDir&"\kjds\all.htm",1)
$html2=FileOpen(@TempDir&"\kjds\folders.htm",1)
$html3=FileOpen(@TempDir&"\kjds\progs.htm",1)
$html4=FileOpen(@TempDir&"\kjds\docs.htm",1)
$html5=FileOpen(@TempDir&"\kjds\imgs.htm",1)
$html6=FileOpen(@TempDir&"\kjds\music.htm",1)
$html7=FileOpen(@TempDir&"\kjds\videos.htm",1)

Global $dfiles=0 ;number of files found
$dfilesold=0     ;number of files found in the previous iteration
$fj=0            ;number of files processed

$timetaken=TimerInit() ;TIME COUNT STARTS HERE
While 1
    ProgressSet(($fj*$ftot),"Scanning index... "&$dfiles&" files/folders found.")
    While $fj<$fmodc
        $fj=$fj+1
        $f=FileReadLine($fcom)
        If @error=-1 Then ExitLoop 2 ;all files have been processed
        $fc=FileReadLine($fcode)
        $ft=FileReadLine($ftype)
        If StringInStr($f,$find)==0 Then ContinueLoop
        FileWriteLine($html1,$fc)
        If $ft=="DIR" Then 
            FileWriteLine($html2,$fc)
        ElseIf $ft=="EXE" Then 
            FileWriteLine($html3,$fc)
        ElseIf $ft=="DOC" Or $ft=="PDF" Or $ft=="PPT" Or $ft=="XLS"  Then 
            FileWriteLine($html3,$fc)
        ElseIf $ft=="EXE" Then 
            FileWriteLine($html3,$fc)
        ElseIf $ft=="EXE" Then 
            FileWriteLine($html3,$fc)
        EndIf
        $dfiles=$dfiles+1
    WEnd
    $fmodc=$fmodc+$fmod
WEnd
$timetaken=Round(TimerDiff($timetaken)/1000,2) ;END OF TIME COUNT

FileClose($fcom)
FileClose($ftype)
FileClose($fcode)
ProgressOff()

Complete($html1)

;displaying results page and waiting for return
ProcessWaitClose(Run(@ProgramFilesDir&'\Internet Explorer\iexplore.exe "'&@TempDir&'\kjds\all.htm"'))

Leave()
exit

;=================================================
;END OF MAIN SCRIPT :: FUNCTIONS NEXT
;=================================================

;COMPLETING SEARCH RESULTS PAGE(S)
;================================
Func complete($page)
    ;completing the results page code
    FileWriteLine($page,"</table>")
    FileWriteLine($page,"<p></p><p></p><div style='mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;mso-border-bottom-alt:solid windowtext .75pt;padding:0in 0in 1.0pt 0in'></div><p></p><p></p>")
    FileWriteLine($page,"<table border=0 cellspacing=0 cellpadding=0><tr><td><font size=2><b>You searched for '"&$find&"' on "&@ComputerName&".</b></font></td></tr>")
    FileWriteLine($page,"<tr><td><font size=2><b>Files/Folders Found: "&$dfiles&"</b></font></td></tr> <tr><td><font size=2><b>Total files/folders on System: "&_FileCountLines($wp&"\data\raw.dat")&"</b></font></td></tr> <tr><td><font size=2><b>Total time taken: "&$timetaken&" seconds.</b></font></td></tr></table><p></p>")

    FileWriteLine($page,"<p><font size=2><b>© Koshy John "&@YEAR&". All rights reserved.</b></font></p><p></p>")
    FileWriteLine($page,"</body></html>")
    FileClose($page)
EndFunc

;INDEXING FUNCTION
;=================
Func reindex()
    Global $drives=DriveGetDrive("FIXED"),$drindex
    If FileExists($wp&"\data\raw.dat")==0 Then
        ;starting the scan operation when the index files are not found
        $i=1
        While $i<=$drives[0]
            If DriveStatus($drives[$i]&"\")=="READY" Then
                $drindex=Run(@ComSpec &" /C dir /s /a:-H-S /b "&$drives[$i]&'\*.* >"'&$wp&'\data\scan'&$i&'.dat"',"",@SW_HIDE)
                sleep(200)
                While(ProcessExists($drindex))
                    sleep(30)
                    $fcltxt="Scanning "&StringUpper($drives[$i])&"... "&_FileCountLines($wp&'\data\scan'&$i&'.dat')&" files found."
                    SplashTextOn($title,$fcltxt,300,18,-1,-1,17,10)
                WEnd
                sleep(500)
            EndIf
            $i=$i+1
        WEnd
        RunWait(@ComSpec &' /C copy /y /a "'&$wp&'\data\scan*.dat" "'&$wp&'\data\raw.dat"',"",@SW_HIDE)
        RunWait(@ComSpec &' /C del /f /q "'&$wp&'\data\scan*.dat"',"",@SW_HIDE)
        SplashOff()
    EndIf
    
    If FileExists($wp&"\data\files.dat") And FileExists($wp&"\data\type.dat") And FileExists($wp&"\data\code.dat") Then Return
    
    ;CONCISE INDEX
    ProgressOn($title,"Compiling index...","",-1,-1,16)
    $raw=FileOpen($wp&"\data\raw.dat",0)
    $fcom=FileOpen($wp&"\data\files.dat",2) ;filename
    $ftype=FileOpen($wp&"\data\type.dat",2) ;filetype
    $fcode=FileOpen($wp&"\data\code.dat",2) ;full file HTML code
    $ftot=_FileCountLines($wp&"\data\raw.dat")
    For $fj=1 To $ftot Step 1
        $f=FileReadLine($raw)
        If @error=-1 Then ExitLoop
        If Mod($fj,30)==1 Then ProgressSet($fj*100/$ftot,$f)
            
        ;path check
        If StringInStr($f,":\Windows\")<>0 Or StringInStr($f,@WindowsDir)<>0 Then ContinueLoop
        If StringInStr($f,":\Program Files\")<>0 Or StringInStr($f,@ProgramFilesDir)<>0 Then
            $ext=StringRight($f,4)
            $ext=StringLower($ext)
            If $ext<>".exe" And $ext<>".pdf" And $ext<>".chm" Then ContinueLoop
        EndIf
        If StringInStr($f,"\Local Settings\")<>0 Or StringInStr($f,"\Application Data\")<>0 Then ContinueLoop
        If StringInStr($f,":\Recycler\")<>0 Or StringInStr($f,"\Application Data\")<>0 Then ContinueLoop
        If StringInStr($f,"\$Ntu")<>0 Or StringInStr($f,"\$hf_mig$")<>0 Then ContinueLoop
        If StringInStr($f,"\Clipart")<>0 Or StringInStr($f,"\Files\PFiles")<>0 Then ContinueLoop
        If StringInStr($f,"AlbumArt_{")<>0 Then ContinueLoop
    
        ;file type
        $fatt0=FileGetAttrib($f)
        $ext=StringRight($f,4)
        $ext=StringLower($ext)
        If StringInStr($fatt0,"H") Or StringInStr($fatt0,"S") Then
            ContinueLoop
        ElseIf StringInStr($fatt0,"D") Then 
            $ext="DIR"
        ElseIf $ext==".bmp" Or $ext==".png" Or $ext==".gif" Or StringInStr($ext,".jp") Then
            $ext="IMG"
        ElseIf $ext==".wav" Or $ext==".avi" Or $ext==".mov" Or $ext==".wma" Or $ext==".wmv" Or $ext==".mid"  Or StringInStr($ext,".mp") Then
            $ext="WMP"
        ElseIf $ext==".exe" Or $ext==".com" Then
            $ext="EXE"
        ElseIf $ext==".doc" Or $ext==".rtf" Then
            $ext="DOC"
        ElseIf $ext==".zip" Or $ext==".cab" Or $ext==".rar" Then
            $ext="ZIP"
        ElseIf $ext==".txt" Or $ext=="html" Or $ext==".htm" Then
            $ext="DEF"
        ElseIf $ext==".pdf" Then
            $ext="PDF"
        ElseIf $ext==".ppt" Then
            $ext="PPT"
        ElseIf $ext==".xls" Then
            $ext="XLS"
        Else
            ContinueLoop
        EndIf
        FileWriteLine($ftype,$ext)
    
        ;file name
        $fsplit=StringSplit($f,"\")
        $fname=$fsplit[$fsplit[0]]
        FileWriteLine($fcom,$fname)
    
        ;file path
        $fpath1=$fsplit[1]
        $i=2
        While $i<$fsplit[0]
            $fpath1=$fpath1&"\"&$fsplit[$i]
            $i=$i+1
        WEnd
    
        ;file size
        $fsize=FileGetSize($f)
        If $fsize<=0 Then $fsize=DirGetSize($f) ;size of folder
        $fsize=Round($fsize/1048576,2)
        If $fsize==0 Then $fsize="< 0.01"
    
        ;last modified
        $fgtime=FileGetTime($f)
        $ftime=$fgtime[0]&"-"&$fgtime[1]&"-"&$fgtime[2]&", "&$fgtime[3]&":"&$fgtime[4]
    
        ;file HTML code
        If StringLen($fname)>35 Then $fname=StringLeft($fname,35)&"..."
        FileWriteLine($fcode,'<tr><td><img src='&$ext&'.png></td><td><a href="'&$f&'"><font size=2>'&$fname&"</font></a></td><td><font size=2>"&$fsize&"MB</font></td><td><font size=2>"&$ftime&'</font></td><td><a href="'&$fpath1&'"><font size=2>'&$fpath1&"</font></a></td></tr>")
    Next
    
    SplashOff()
    ProgressOff()
    FileClose($fcode)
    FileClose($fcom)
    FileClose($ftype)
    FileClose($raw)
EndFunc

;USER INTERRUPT
;==============
Func Leave()
    ;closing all indexing processe
    
    _RunDOS("del /f /q "&$wp&"\index*.dat")
    FileDelete($wp &"\ntfs.dat")
    FileDelete($wp &"\kjsall.dat")
    FileDelete(@TempDir&"\kjs*.png")
    FileDelete(@TempDir&"\kjds.htm")
    exit
endfunc

;CHECKING OS VERSION
;===================
Func os()
    MsgBox ( 48, $title, "Your Windows version is "& @OSVersion &".", 15)
    exit
endfunc
Link to comment
Share on other sites

neoSearch.... looks great, really fast - well done.

A couple of requests (I maybe repeating what others have asked ... :whistle: )

neoSearch didn't find any of my .au3 files or a number of other file types that I regularily work with - can you add an option to add additional file types.

neoSearch only lists 4 files - there are sometimes far more than 4 versions of a file dotted round the place - can you add option to set max number of displayed results - eg 10 or 20 - and provide scroll bar.

Cheers.

Thank you for trying it out!

Other file types

- Its easier for me to hard code it. So if you'd not mind listing the filetypes you want, I can put them in for you.

- If its a uncommon filetype, I might need your help in acquiring the icons for those files.

Additional dynamic results

- Due to the way I've coded it, its very difficult to change the number of results without a lot of work

- My indexing algorithm is not fast or lite enough on the CPU to do like 10 or 20 results rapidly letter by letter, I'll have to work on that first...

- You'll have to make do with the full results page for now. Not that it's not fast for static results (~0.20 secs)

- Believe me, I wanted to do this before you but I was trapped by my coding style. I learn more and more as I go along. There used to be a time when I couldn't manage 600 lines of code. Now I do 3000 without breaking a sweat. Maybe more as the weeks go by...

Link to comment
Share on other sites

I'm indebted to those of you who decided to trust my program and installed it and continue to do so everyday.

I'm not charging anyone for the software, nor do I intend to. But if you think neoSearch is good enough, kindly recommend it to your friends and colleagues. Because they are more likely to pay attention to the words of someone they know rather than those of a person who's a stranger to them.

Thank you for your time and patience.

Edited by Koshy John
Link to comment
Share on other sites

Does everyone realise there's a full list if you just hit return...?

Randall

I'll add that in the first post just in case.

Just for the record, Jon's approved my program for the Download list at the forum. One of 34 downloads!

http://www.autoitscript.com/forum/index.ph...amp;showfile=63

I finally feel like I've achieved something of lasting value with AutoIt.

After close to 6 long years since I first found AutoIt on a free CD bundled with a computer magazine!

For all newcomers, AutoIt allows you to realise your ideas without having to employ a team of developers. I'm sure I'd have never completed neoSearch on my own this fast if I had directly coded in C++. And I am definite that the results would not be half as impressive.

A big warm heartfelt thanks to Jon and the entire AutoIt team!

Link to comment
Share on other sites

- If its a uncommon filetype, I might need your help in acquiring the icons for those files.

Well done for the downloader!

Can you use same icons that list view does?

From "_GUILV1.au3" in searchMinerG, Holger's routine

declare first byref parms, Then

FileGetIcon( $szIconFile,  $nIcon, $szFile)
GUICtrlSetImage(-1, $szIconFile, $nIcon)
Func FileGetIcon(ByRef $szIconFile, ByRef $nIcon, $szFile)
    Dim $szRegDefault = "", $szDefIcon = ""
    $szExt = StringRight($szFile, 4)
    $szRegDefault = RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\" & $szExt, "ProgID")
    If $szRegDefault = "" Then $szRegDefault = RegRead("HKCR\" & $szExt, "")
    If $szRegDefault <> "" Then $szDefIcon = RegRead("HKCR\" & $szRegDefault & "\DefaultIcon", "")
    If $szDefIcon = "" Then
        $szIconFile = "shell32.dll"
    ElseIf $szDefIcon <> "%1" Then
        $arSplit = StringSplit($szDefIcon, ",")
        If IsArray($arSplit) Then
            $szIconFile = $arSplit[1]
            If $arSplit[0] > 1 Then $nIcon = $arSplit[2]
        Else
            Return 0
        EndIf
    EndIf
    Return 1
EndFunc   ;==>FileGetIcon
Randall
Link to comment
Share on other sites

Well done for the downloader!

Can you use same icons that list view does?

From "_GUILV1.au3" in searchMinerG, Holger's routine

declare first byref parms, Then

FileGetIcon( $szIconFile,  $nIcon, $szFile)
GUICtrlSetImage(-1, $szIconFile, $nIcon)
Func FileGetIcon(ByRef $szIconFile, ByRef $nIcon, $szFile)
    Dim $szRegDefault = "", $szDefIcon = ""
    $szExt = StringRight($szFile, 4)
    $szRegDefault = RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\" & $szExt, "ProgID")
    If $szRegDefault = "" Then $szRegDefault = RegRead("HKCR\" & $szExt, "")
    If $szRegDefault <> "" Then $szDefIcon = RegRead("HKCR\" & $szRegDefault & "\DefaultIcon", "")
    If $szDefIcon = "" Then
        $szIconFile = "shell32.dll"
    ElseIf $szDefIcon <> "%1" Then
        $arSplit = StringSplit($szDefIcon, ",")
        If IsArray($arSplit) Then
            $szIconFile = $arSplit[1]
            If $arSplit[0] > 1 Then $nIcon = $arSplit[2]
        Else
            Return 0
        EndIf
    EndIf
    Return 1
EndFunc   ;==>FileGetIcon
Randall
This looks exactly like what neoSearch needs... It'll take a little time to integrate it into my program... I'll do it asap, but not until August 4... I'm smack in the middle of my semester exams!

All comments and suggestions will be incorporated or at least acknowledged at the earliest, but do not consider me negligent if I am unable to do so right away!

what does it feel like to have 100 posts...

Good job with this program

Thanks Ashley!
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...