MSFN Forum: Add 'Find Target' to Right Click... - MSFN Forum

Jump to content


  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

Add 'Find Target' to Right Click... Rate Topic: -----

#21 User is offline   clavicle 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 454
  • Joined: 28-January 04
  • OS:Windows 7 x64
  • Country: Country Flag

Posted 19 September 2005 - 08:05 AM

I have got this file findtarget.dll which I downloaded from some very good coding site, (I don't remember which).
I use the ua cd to register it in my sytem32 folder using
regsvr32.exe /s "%WINDIR%\SYSTEM32\FINDTARGET.DLL"

It gives me what you all are looking for, working in Winxp Pro.

If you need it, I am not sure if I can post it, I will send it (small size 6.36kb)


#22 User is offline   Yzöwl 

  • Wise Owl
  • Group: Super Moderator
  • Posts: 4,369
  • Joined: 13-October 04
  • OS:Windows 7 x64

Posted 19 September 2005 - 08:28 AM

@ clavicle

The dll file is probably the one in use already the original questioner, Oh_Kay.

However the Microsoft PowerToys file I linked to is also a dll file.

The only problem with both of these examples is that we would prefer not to use a dll file.

Not that there is anything wrong in you offering your file, just that it seems that the thread is re-covering old ground again, with little new being added.

#23 User is offline   clavicle 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 454
  • Joined: 28-January 04
  • OS:Windows 7 x64
  • Country: Country Flag

Posted 19 September 2005 - 08:49 AM

@Yzöwl
Curosity kills the cat! I didn't go into details, may be the file is same, in fact I wanted to end the hunt by offering a tested solution. Thanks!

#24 User is offline   dubbin 

  • Group: Members
  • Posts: 1
  • Joined: 24-October 05

Posted 24 October 2005 - 02:33 AM

Hi all,

I stumbled on this thread (and forum!) from google, and this is my first post, but I just wanted to report that I have combined the suggestions of MHz and Yzöwl into the following:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\lnkfile\Shell\Find Target\command]
@="\"explorer.exe\" /select,\"%1\""


(save as plain text with the extension .REG, and run it)

This seems to work for me in XP, with no need for additional DLLs. Thanks to everyone in the thread for the ingredients!

#25 User is offline   eidenk 

  • MSFN Addict
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1,527
  • Joined: 28-March 05

Posted 24 October 2005 - 01:19 PM

View PostYzöwl, on Sep 19 2005, 08:28 AM, said:

@ clavicle

The dll file is probably the one in use already the original questioner, Oh_Kay.

However the Microsoft PowerToys file I linked to is also a dll file.

The only problem with both of these examples is that we would prefer not to use a dll file.

Not that there is anything wrong in you offering your file, just that it seems that the thread is re-covering old ground again, with little new being added.

Indeed

View Posteidenk, on Aug 16 2005, 06:16 AM, said:



Of course they are both in Japanese but you just have to tweak the context menu entry to put it in english.

This post has been edited by eidenk: 24 October 2005 - 01:19 PM


#26 User is offline   maxXPsoft 

  • MSFN Master
  • Group: Developers
  • Posts: 2,769
  • Joined: 14-November 03
  • OS:Windows 7 x64
  • Country: Country Flag

Posted 27 October 2005 - 10:06 PM

@dubbin
Nice,
but not quite, if its a link on the desktop then it simply open's desktop and shows the Target which points nowhere intended

This post has been edited by maxXPsoft: 27 October 2005 - 10:07 PM


#27 User is offline   kaya 

  • Newbie
  • Group: Members
  • Posts: 18
  • Joined: 01-February 04

Posted 03 November 2005 - 04:10 PM

Quote

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\lnkfile\Shell\Find Target\command]@="\"explorer.exe\" /select,\"%1\""


When you click on a shortcut in "Quick Launch", it opens Quick Launch folder, not the shortcut's target folder.

#28 User is offline   Yzöwl 

  • Wise Owl
  • Group: Super Moderator
  • Posts: 4,369
  • Joined: 13-October 04
  • OS:Windows 7 x64

Posted 04 November 2005 - 06:04 AM

As nobody has picked up on it yet, from my vbs alternative earlier, here is a working method!
First create this file and save it as %SystemRoot%\system32\GeTarget.vbs
Wscript.Echo CreateObject("WScript.Shell").CreateShortcut(WScript.Arguments (0)).TargetPath
The above should all be on one line.
Now paste this single line into Start » Run and click OK
reg add "HKCU\Software\Classes\lnkfile\Shell\Find Target\command" /ve /d "%comspec% /c @echo off&for /f \"delims=\" %%? in ('cscript //nologo %SystemRoot%\system32\GeTarget.vbs \"%1\"') do start \"\" explorer.exe /select, \"%%~?\"" /f
Now right click any shortcut and choose Find Target

I hope this is better!

#29 User is offline   maxXPsoft 

  • MSFN Master
  • Group: Developers
  • Posts: 2,769
  • Joined: 14-November 03
  • OS:Windows 7 x64
  • Country: Country Flag

Posted 09 November 2005 - 09:01 PM

View PostYzöwl, on Nov 4 2005, 07:04 AM, said:

As nobody has picked up on it yet, from my vbs alternative earlier, here is a working method!
I hope this is better!

Don't work here, I see a cmd flash and nothing

#30 User is offline   Yzöwl 

  • Wise Owl
  • Group: Super Moderator
  • Posts: 4,369
  • Joined: 13-October 04
  • OS:Windows 7 x64

Posted 10 November 2005 - 02:00 AM

I have it running flawlessly on my machines.

What is the string in your registry value data?
This is mine
C:\WINDOWS\system32\cmd.exe /c @echo off&for /f "delims=" %%? in ('cscript //nologo C:\WINDOWS\system32\GeTarget.vbs "%1"') do start "" explorer.exe /select, "%%~?"

This post has been edited by Yzöwl: 10 November 2005 - 02:01 AM


#31 User is offline   maxXPsoft 

  • MSFN Master
  • Group: Developers
  • Posts: 2,769
  • Joined: 14-November 03
  • OS:Windows 7 x64
  • Country: Country Flag

Posted 10 November 2005 - 08:12 AM

C:\WINDOWS\system32\cmd.exe /c @echo off&for /f "delims=" %? in ('cscript //nologo C:\WINDOWS\system32\GeTarget.vbs ""') do start "" explorer.exe /select, "%~?"

I see it now from yours and wonder how that happen, I'm missing the double %% in two places. I copied your stuff and pasted in a cmd file instead of run. The double %% is in the cmd file. Strange

Wanted it in a cmd file for my Unattends
Works when I set it like yours manually. Maybe I better export that reg instead of cmd

This post has been edited by maxXPsoft: 10 November 2005 - 08:15 AM


#32 User is offline   Ed999 

  • Group: Members
  • Posts: 7
  • Joined: 07-October 06

Posted 07 October 2006 - 01:05 PM

The solution to this problem is probably to go to START > RUN and type:

regsvr32 /i shell32.dll

#33 User is offline   danp129 

  • Group: Members
  • Posts: 1
  • Joined: 23-March 07

Posted 23 March 2007 - 11:34 AM

Here's a script I made for this.

 
'Filename:		FindTarget.vbs
'Description:	Simulates 'Find Target' button in shortcut properties dialog.
'Created by:	Danp129
'@yahoo.com
'Usage:			Double click FindTarget.vbs and click 'Yes' to register file.
'				Right click a shortcut and click 'Find Target'

'				If previous 'Find Target' context menu exists it can backup old
'				setting to backup.txt in same path this file is executed from.

option explicit
Dim objShell, sAppPath, ret, sNewRegVal
Const ForAppending = 8

Set objShell = CreateObject("WScript.Shell")

sNewRegVal = "cscript /nologo """ & Wscript.ScriptFullName & """ ""%1"""
sAppPath = Mid(Wscript.ScriptFullName, 1, InStrRev(Wscript.ScriptFullName, "\") - 1)

if WScript.Arguments.count > 0 then
	'Script was called from context menu
		
	call FindTarget
else
	'Script was not sent arguments, was likely double clicked on
	if sNewRegVal<>GetCurRegVal or isnull(GetCurRegVal) then
		'Ask user if they wish to add Find Target context menu
		ret=msgbox("Register this file as your 'Find Target' handler?", vbYesNo, "Add 'Find Target' context menu?")
		if ret=vbYes then
			'Call sub to create context menu using this file to handle requests
			call CreateContextMenu
		end if
	else
		msgbox "This file is already registered to handle 'Find Target' context menu." & vbcrlf & _
				vbcrlf & "To use, simply right-click a shortcut and click 'Find Target'.", vbOKOnly, "Incorrect use"
	end if
end if

Set objShell = nothing


Sub FindTarget()
	Dim sMainFile, sCmd, sArgs, sPath, arArgOverride, sArgOverride, i, fso, arTmp, sTmp

	'Specify lower-case exe files to check if an argument exists
	'   and should attempt to browse to the argument if it's a 
	'   valid path instead of executable
	'Use pipe "|" to seperate files 
	'  e.g. ("notepad.exe|anotherapp.exe")
	arArgOverride=split("notepad.exe")

	'Shell command for explorer.exe
	sCmd = "explorer.exe /select,"

	'Main file the link refers to e.g. notepad.exe in 'c:\windows\notepad.exe c:\file.txt'
	sMainFile=lcase(CreateObject("WScript.Shell").CreateShortcut(WScript.Arguments(0)).TargetPath)

	'Additional arguments in link e.g. c:\file.txt in 'notepad.exe c:\arg.txt'
	sArgs=CreateObject("WScript.Shell").CreateShortcut(WScript.Arguments(0)).Arguments

	'Check to see if we should browse to arg if specified, if so set blnUseArg to true
	if sArgs <> "" then
		
		'get filename only
		arTmp=split(smainfile, "\")
		sTmp=arTmp(ubound(arTmp))
		
		'Search override filenames for a match
		for i = 0 to ubound(arArgOverride)
			if sTmp=arArgOverride(i) then 
				'Create FSO object
				Set fso = CreateObject("Scripting.FileSystemObject") 

				'Remove quotes and leading spaces from args or fso.FileExists will fail
				sArgs=trim(replace(sArgs, """", ""))
				
				'See if args is a valid path
				if fso.FileExists(sArgs) or fso.FolderExists(sArgs) then
					'Use args for path
					sPath=sArgs
				end if
				exit for
			end if
		next 'iArgO

		'Use main file if args was not a valid path
		if sPath="" then sPath=sMainFile
	else
		'No arguments in the shortcut.. Use main file for path
		sPath=sMainFile
	end if

	'Have Explorer open folder containing path
	objShell.Run sCmd & sPath

	set fso=nothing
end sub

sub CreateContextMenu()
	
	Dim sRegKey, fso, sBackupFile, oTextFile
	sBackupFile=sAppPath & "\" & "backup.txt"
	
	sRegKey =  GetCurRegVal
	if not isnull(sRegKey) then
		'Add some prompts to backup current value
		if sRegKey<>sNewRegVal and sRegKey<>"" then
			ret=msgbox("'Find Target' context menu already exists, would you like to backup the current setting before making changes?", vbYesNoCancel, "Backup current settings?")
			if ret=vbCancel then exit sub
			if ret=vbYes then
				'Save current value to text file, append if backup already exists.
				Set fso = CreateObject("Scripting.FileSystemObject")
				set oTextFile = fso.OpenTextFile(sBackupFile, ForAppending, true)

				oTextFile.Writeline sRegKey
				oTextFile.Close
				set fso=nothing
				set oTextFile=nothing
			end if
		end if
	end if

	'Write to registry
	objShell.RegWrite "HKCU\Software\Classes\lnkfile\Shell\Find Target\command\", sNewRegVal, "REG_SZ"
end sub

function GetCurRegVal
	on error resume next
	GetCurRegVal=objShell.RegRead("HKCU\Software\Classes\lnkfile\Shell\Find Target\command\")
	if err.number <> 0 then 
		GetCurRegVal=null
	end if
	on error goto 0	
end function 


#34 User is offline   Yzöwl 

  • Wise Owl
  • Group: Super Moderator
  • Posts: 4,369
  • Joined: 13-October 04
  • OS:Windows 7 x64

Posted 23 March 2007 - 01:58 PM

Looks like a good idea, I'm not in a position to try it at present however.

Nice first post by the way.

#35 User is offline   maxXPsoft 

  • MSFN Master
  • Group: Developers
  • Posts: 2,769
  • Joined: 14-November 03
  • OS:Windows 7 x64
  • Country: Country Flag

Posted 03 January 2008 - 10:44 AM

I've found the 100% cure with a simple reg tweak constructed exactly like it needs to be with no dll.
I'll not disclose it now since its part of my new tweaking program soon to release.

If Oh_Kay still interested then msg me so you can beta the tweak

This post has been edited by maxXPsoft: 04 January 2008 - 04:53 PM


#36 User is offline   maxXPsoft 

  • MSFN Master
  • Group: Developers
  • Posts: 2,769
  • Joined: 14-November 03
  • OS:Windows 7 x64
  • Country: Country Flag

Posted 19 February 2008 - 07:42 AM

Windows Registry Editor Version 5.00
;Note for the Find Target to work you need a default Open unknown files.
;This adds Open w/Notepad if you don't already have something set. Comment out if you do.

[HKEY_CLASSES_ROOT\*\shell\open]
@="Open w/Notepad"

[HKEY_CLASSES_ROOT\*\shell\open\command]
@="notepad.exe \"%1\""

[HKEY_CLASSES_ROOT\*\shell\Find Target...\command]
@="explorer.exe /select, \"%1\""

Vista has 'Open file location' on its right click.

This post has been edited by maxXPsoft: 14 February 2009 - 03:51 PM


#37 User is offline   Oh_Kay 

  • TechnoBabe
  • Pip
  • Group: Members
  • Posts: 91
  • Joined: 03-October 03

Posted 01 March 2009 - 01:35 AM

Sorry I missed your post and offer to beta your code MaxXPsoft, for some reason I didn't get a notification of a reply to this thread...

Well here we are again... another reinstall, looking to add the same feature back that started this thread in the first place, and goole brought me right here!

Your updated version is much better now that no dll is required !

It shall have pride of place on my next unattended...

Thanks to everyone that responded to my original question, and especially to you maxXPsoft, nice to see your still around too ;)

#38 User is offline   maxXPsoft 

  • MSFN Master
  • Group: Developers
  • Posts: 2,769
  • Joined: 14-November 03
  • OS:Windows 7 x64
  • Country: Country Flag

Posted 01 March 2009 - 06:59 AM

Oh_Kay :hello:

took me 4 years about :wacko: cause I wanted that also, glad they added to Vista

yes still ticking, messing with Win Seven beta now

Share this topic:


  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

2 User(s) are reading this topic
0 members, 2 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy