Greygabe.. Sorry for hijacking this thread but here's a chance to continue with learning about mode9 editing and stuff Your question is in post 2 which actually made me get into the classes
Finally got the mode9 edited to remove the selection on clock and the date line below it Thanks to headsup from above and mode9 quick tutorials from xboxmod
Attached are my LUA scripts for removing the clicks "just for reference" not to be used directly to device
[Q] Disabling TF3D Clock as Shortcut
So you know how when you press the clock in TF3D it brings you to the clock settings thing (the Time/Alarms settings)?
Does anyone know how to stop that?
It is a giant hit box for the touch screen and when it is in my pocket - it is the most common thing accidentally hit...
Plus it's not a settings menu I often need...
You have to edit the 1c684cd8_manila file, aka home tab mode9 file. It has a selection box defined which can be modified to remove the selection area for clock. I would post file, but not everyone has the same file, depending on with or without flipclocks for starters, but there could also be other differences too. The file can be edited using m9editor.
Has anyone ever figured this out? I constantly touch my clock screen inadvertently, sending it to alarms and setting.
greygabe said:
So you know how when you press the clock in TF3D it brings you to the clock settings thing (the Time/Alarms settings)?
Does anyone know how to stop that?
It is a giant hit box for the touch screen and when it is in my pocket - it is the most common thing accidentally hit...
Plus it's not a settings menu I often need...
Click to expand...
Click to collapse
You could change script on offset 798.lua in 1c684cd8_manila.
There are two of 'NavigateToClock()', one is for thouching, other is for clicking. You could get rid of what you want.
showaco said:
You have to edit the 1c684cd8_manila file, aka home tab mode9 file. It has a selection box defined which can be modified to remove the selection area for clock. I would post file, but not everyone has the same file, depending on with or without flipclocks for starters, but there could also be other differences too. The file can be edited using m9editor.
Click to expand...
Click to collapse
Hi showaco. I edited the file you mentioned in m9editor. Copied to windows and using it without any problems actually. But when i click on the date line below clock, it opens the clock applet. also when i click the clock after flipping it, it still opens the clock applet. how to get rid of that?
i edited the name size value to 0,0 last line in the screen below. am i doing something wrong?
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Hi guys. I wanted to remove this code from the attached script of 1c684cd8_manila file
Code:
OnAlarmPressed = function(l_3_0, l_3_1)
_application.Navigation:Navigate(URL("Manila://WorldClock/alarmview.page"))
l_3_1.value = true
end
Even if I simply decompile the script in m9editor (3.3.0.1) and try to re-compile without editing anything, it gives me the below error
Am still learning this whole LUA script thingy so I cant know what is to be done. Please help somebody. Also I want to edit the date line & alarm line to place above the clock. Any ideas what is to be edited in the 1c684cd8_manila file?
EDIT: Found the problem. There was an extra "end" mentioned below. Compared the script with an earlier manila file. Removed that "end" and got the script to work
Code:
else
AlarmClockOn._visible = false
AlarmClockOff._visible = true
AlarmTime.String = "[[IDS_ALARMOFF]]"
if alarmSelected == true then
AlarmTime.Color = GetAlarmSelectedColor()
AlarmTime.Opacity:Interpolate(100, 0, 0, Interpolate_Linear)
else
AlarmTime.Color = GetAlarmOffColor()
AlarmTime.Opacity:Interpolate(50, 0, 0, Interpolate_Linear)
end
[B][COLOR=red] end
[/COLOR][/B]end
Hi guys. I am attaching my 1c684cd8_manila file for some help needed This file is not to be used directly since it is customised to my home layout
I need to move the text "Airtel" (carrier name) to the extreme left, keeping the operator logo (Ameet) as is. I have edited the mode9 file in such a way that I only need to replace a .png image called op.png (150x50) in windows dir to change the operator logo Works good for me
Can you guys tell me what is to be edited for moving the carrier name to the left. I tried changing the pos x of carrier name in the mode9 file but it just wont budge
Didnt do much good in the earlier section. Got no responses there. Hoping someone might be able to help out in here
Hi Ameet
to move operator text position
you need to edit attached lua.
in new manila 90% of item are placed in lua
lots of mode9 value are ignored.
if you need more info ask me.
bye
xboxmod said:
Hi Ameet
to move operator text position
you need to edit attached lua.
in new manila 90% of item are placed in lua
lots of mode9 value are ignored.
if you need more info ask me.
bye
Click to expand...
Click to collapse
Hi brother. The file you posted is actually for landscape? (home_landscape.luac)
The script from my file is different (attached my file for comparing )
Code:
TitleBar._visible = true
if OperatorLogo._visible == true then
CarrierNetwork.Position.value = Vector3(208, -15, 0)
CarrierNetwork.HorizontalAlignment = Alignment_Right
end
this is from portrait screen. I dont want to move the operator logo, it is perfect where it is right now. I just want to move the carrier name "Airtel" in screen above post to the left. Which code to be edited for that?
Hey xboxmod, I replaced the home.mode9 file from your package brother and edited my 25d04412_manila.lua script as the below to move the clock tab below and the date / alarm tab above it Changed only the lua script to avoid editing the main mode9 file directly
Code:
clock_tabs.CameraPosition.value = Vector3(0, [COLOR=blue]30[/COLOR], 320)
clock_tabs.LookAtPosition.value = Vector3(0, [COLOR=blue]30[/COLOR], 0)
TabsLeft.CameraPosition.value = Vector3(0, [COLOR=blue]30[/COLOR], 320)
TabsLeft.LookAtPosition.value = Vector3(0, [COLOR=#0000ff]30[/COLOR], 0)
TabsRight.CameraPosition.value = Vector3(0, [COLOR=#0000ff]30[/COLOR], 320)
TabsRight.LookAtPosition.value = Vector3(0, [COLOR=#0000ff]30[/COLOR], 0)
alarmCamera.Position.value = Vector3(0, [COLOR=red]220[/COLOR], 0)
I also played around with the values to get the below scene Its not perfect yet but I'm sure someone witll surely find a new theme pack for it
Code:
clock_tabs.CameraPosition.value = Vector3([COLOR=red]50[/COLOR], 30, 320)
clock_tabs.LookAtPosition.value = Vector3(0, 30, 0)
TabsLeft.CameraPosition.value = Vector3([COLOR=red]50[/COLOR], 30, 320)
TabsLeft.LookAtPosition.value = Vector3(0, 30, 0)
TabsRight.CameraPosition.value = Vector3([COLOR=red]50[/COLOR], 30, 320)
TabsRight.LookAtPosition.value = Vector3(0, 30, 0)
I changed all this only in the portrait right now (if l_2_0._application.Orientation == ScreenOrientation_Portrait then)
Ameet, care to look into Music tab... playlist problem?
When ever i add new playlist, once i do a soft reset, the playlist will be deleted.
thank in advance. =)
StyL3-Ivan said:
Ameet, care to look into Music tab... playlist problem?
When ever i add new playlist, once i do a soft reset, the playlist will be deleted.
thank in advance. =)
Click to expand...
Click to collapse
StyL3-Ivan, I've not hijacked this thread for providing support in editing lua scripts and stuff but for sharing information and learning things
We'll surely work on the solutions and new stuff all together, but right now its learning time
This is just a thought process right now to work on moving the QTC image files to storage card (Internal Storage in case of Diamond) This is not a confirmation yet, still in testing. Will keep updating this post as and when more info is found on this
Path Value for the 012.qtc to be used from in home.mode9 file is seen as “.\Assets\Images\Home\VGA\012.qtc” which is actually “\Windows\HTC\Assets\Images\Home\VGA\012.qtc"
Hence hash name of this 012.qtc file is “1C813F6C_manila”
If we change this path to “\Internal Storage\012.qtc” then the hash name of this same file becomes “5D1AA6D8_manila”
Change the path in mode9 file to “\Internal Storage\012.qtc”
And copy the “5D1AA6D8_manila” file (renamed 012.qtc) to root of Internal Storage
EDIT: 22-Apr-09
This didnt work as suspected. Changed all instances of the qtc path to above, found about 9-10 instances Creating a folder called Internal Storage in windows and putting the new hash file didnt work either Attaching my home.mode9 and the 012.qtc file (with above hash name) for someone to check. The time below is actually 22:53
EDIT: 23-Apr-09
It might have worked well actually. "Internal Storage" folder in windows was not created correctly. Will try later again on saturday night. I think we need a way to hex the manila.exe in recognising root path of the device. The mode9 files refer to path ".\Assets\Images.." etc etc which means it calls for the HTC folder as "\Windows\."
Can all the lines in all LUA scripts starting from "trace" be safely deleted?
Since these are debug codes, thought it will speed up the Manila a bit
for e.g.
Code:
trace("HandleLetterSelected=" .. string.char(l_16_0 + 65))
trace("HandleLetterSelected indexJump=" ..
or I can only remove such lines?
Code:
trace("+++++++[Programs_ScreenRotation] : ResetListViewContent")
Ameet said:
Can all the lines in all LUA scripts starting from "trace" be safely deleted?
Since these are debug codes, thought it will speed up the Manila a bit
for e.g.
Code:
trace("HandleLetterSelected=" .. string.char(l_16_0 + 65))
trace("HandleLetterSelected indexJump=" ..
or I can only remove such lines?
Code:
trace("+++++++[Programs_ScreenRotation] : ResetListViewContent")
Click to expand...
Click to collapse
Yes they can, they are for testing purposes only, 12
12aon said:
Yes they can, they are for testing purposes only, 12
Click to expand...
Click to collapse
But all the lines starting with trace can be removed? Would that really help speed up the manila?
xboxmod is kinda busy these days, but hoping he tries and helps me in understanding the hex editing part on manila.exe to make it search for qtc files from root
Ameet said:
EDIT: 23-Apr-09
It might have worked well actually. "Internal Storage" folder in windows was not created correctly. Will try later again on saturday night. I think we need a way to hex the manila.exe in recognising root path of the device. The mode9 files refer to path ".\Assets\Images.." etc etc which means it calls for the HTC folder as "\Windows\."
Click to expand...
Click to collapse
This may sound totally stupid but it's worth a try. Since ".\" refers to "\Windows\", "..\" should refer to "\". Windows CE has no concept of relative paths and ".\" must be included as a pointer to "\Windows\" by HTC. Somehow I doubt they created a "..\" pointer but it isworth a shot.
Sorry but I myself haven't tried this yet as I'm slightly new (as in total noob ) to MODE9 editing and HTC's implementation of Lua.
Ameet said:
But all the lines starting with trace can be removed? Would that really help speed up the manila?
xboxmod is kinda busy these days, but hoping he tries and helps me in understanding the hex editing part on manila.exe to make it search for qtc files from root
Click to expand...
Click to collapse
Should be but Zstupy said it would not matter much though, though I will be removing all trace in my next edits, 12
Related
Do we need another tool for converting registry files to provisioning XML files? Maybe not, but I wasn't happy with existing solutions, so here's my offering. It runs on Windows (not on Windows Mobile), and will convert any registry data file given to it into a file of the same name, but with a .xml extension.
This is eventually going to be a small part of a larger project I'm working on, but I thought I'd release it now to get any early feedback.
Features:
Command line interface (or just drag and drop the registry file onto the .exe)
Converts Unicode and ANSI file formats: .reg (v4 and v5), .rgu, .cereg
Supports continuing line breaks (lines split with \)
Supports all data types (including REG_BINARY containing non-unicode data)
Supports key and value deletion instructions
Robust to non-fatal failure: informative warnings and errors will be displayed (if run from the command line).
Accessible as an API (to .net apps) - add a reference to the .exe file, then call the static method RegToXml.RegToXml.Convert
The intention is for this to provide bullet-proof conversion of any valid registry files, so I'd really appreciate any bug reports (preferably with a copy of the registry file that failed!). Comments and suggestions welcome too.
Alex
Edit: This tool is now available as part of SDConfigGen, and will no longer be separately updated in this thread.
AlexVallat said:
Do we need another tool for converting registry files to provisioning XML files? Maybe not, but I wasn't happy with existing solutions, so here's my offering.
This is eventually going to be a small part of a larger project I'm working on, but I thought I'd release it now to get any early feedback.
Features:
Command line interface (or just drag and drop the registry file onto the .exe)
Converts Unicode and ANSI file formats: .reg (v4 and v5), .rgu, .cereg
Supports continuing line breaks (lines split with \)
Supports all data types (including REG_BINARY containing non-unicode data)
Robust to non-fatal failure: informative warnings and errors will be displayed (if run from the command line).
Accessible as an API (to .net apps) - add a reference to the .exe file, then call the static method RegToXml.RegToXml.Convert
The intention is for this to provide bullet-proof conversion of any valid registry files, so I'd really appreciate any bug reports (preferably with a copy of the registry file that failed!). Comments and suggestions welcome too.
Alex
.NET Framework (required)
Click to expand...
Click to collapse
Hi alex
I have error with Net CF
what version is required ? I have V2
brunoisa10 said:
Hi alex
I have error with Net CF
what version is required ? I have V2
Click to expand...
Click to collapse
It should be OK with 2.0. Just a thought, you mention .Net CF - are you trying to run this on Windows Mobile? I should have been more specific, this is a Windows (PC) tool for generating xml provisioning files which are then used by SDAutorun.
Alex
I use http://ceregeditor.mdsoft.pl/
Radimus said:
I use http://ceregeditor.mdsoft.pl/
Click to expand...
Click to collapse
So do I, it's a great application! I'm not sure I understand your point, though?
AlexVallat said:
So do I, it's a great application! I'm not sure I understand your point, though?
Click to expand...
Click to collapse
it will export the reg, it will convert to a cab... what else does it need to do?
Radimus said:
it will export the reg, it will convert to a cab... what else does it need to do?
Click to expand...
Click to collapse
It doesn't export to cab, if I read correctly, it exports to *.XML
Exitao said:
It doesn't export to cab, if I read correctly, it exports to *.XML
Click to expand...
Click to collapse
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
CERegEditor can export registry data. Once you have registry data, you may choose to it to a cab using the CERegEditor Convert menu as illustrated above by Radimus. If what you want is a cab file, RegToXml probably isn't what you are looking for.
If you want to convert it to an xml provisioning file, though, I don't believe CERegEditor has that functionality. You can use my RegToXml tool to do that.
Alex
I'm not trying to be difficult, but if we are to assume the cab works as advertised, then the xml is already inside the cab...
winrar or winzip or whatever to extract the cab....
All that aside, it is obviously not the only solution to this process and any efforts by a local dev is nothing but outstanding.
I have just started looking into XML provisioning, I had only done CAB installs previously. If this app will grow into a utility that can manage fileoperations like creating folders, moving/creating shortcuts, and such this will be a very worthy endeavor.
OK, I guess you could use CERegEditor generate a cab file, extract _setup.xml from it, rename it, and edit it to remove the extraneous dummy file copying stuff. I'd suggest that using this tool instead would be easier than that. Of course if what you want to end up with is actually a cab, rather than an xml file, then there's less point to it!
The reason I (personally) want to generate xml files from registry files is for use with SDAutoRun, where they are included in the SDConfig.txt with the XML: statement.
Alex
even a "wizard" type of app, that would create XML provisioning files for email accounts would be a life saver and a standard app for all UC flashers.
New account -> select provider (pop3,ldap,gmail,exchange,etc) -> acctname -> pw -> options -> another acct -> create XML? -> create cab? -> donate 1$
I like the idea. I'm currently working on an SDConfig.txt auto-generator, but once I've finished that, a wizard-based provisioning file editor could be a cool project.
@AlexVallat,
your RegToXml converter does not handle reg-lines which contain "multi-sz", hence it is useless for me.
jwoegerbauer said:
@AlexVallat,
your RegToXml converter does not handle reg-lines which contain "multi-sz", hence it is useless for me.
Click to expand...
Click to collapse
It's been three years... I don't actually even have a windows mobile device any more.
That said, RegToXml should support values of type REG_MULTI_SZ. Check that you are using the latest version (0.6) - if not, it's part of SDConfigGen now. You can just extract RegToXml.exe from the zip file if that's all you want, though.
AlexVallat said:
It's been three years... I don't actually even have a windows mobile device any more.
That said, RegToXml should support values of type REG_MULTI_SZ. Check that you are using the latest version (0.6) - if not, it's part of SDConfigGen now. You can just extract RegToXml.exe from the zip file if that's all you want, though.
Click to expand...
Click to collapse
RegToXML is a Win32 app, hence no mobile device needed. To be on the safe side again downloaded SDConfigGen.0.6.zip and ran RegToXML.exe (06.08.2008, 12 KB) contained in it. Same result, i.e. multi-sz lines not converted. BTW, if you are still interested in your project, the rgu-file I want to get converted is attached.
jwoegerbauer said:
the rgu-file I want to get converted is attached
Click to expand...
Click to collapse
As it turns out, .rgu files are not identical to .reg files. I've had a look around, but haven't been able to find a specification for the .rgu file format, but the "multi_sz:" thing is definitely not compatible with the .reg file format.
It would be nice to be able to support .rgu files too, and if I can get a spec for them I might even update the project to do so, but I can't just assume that they are identical except for multi-strings and then claim support for them.
If you can get your registry data in a .reg file instead of a .rgu, RegToXml will be able to process it.
Alex
AlexVallat said:
As it turns out, .rgu files are not identical to .reg files. I've had a look around, but haven't been able to find a specification for the .rgu file format, but the "multi_sz:" thing is definitely not compatible with the .reg file format.
It would be nice to be able to support .rgu files too, and if I can get a spec for them I might even update the project to do so, but I can't just assume that they are identical except for multi-strings and then claim support for them.
If you can get your registry data in a .reg file instead of a .rgu, RegToXml will be able to process it.
Alex
Click to expand...
Click to collapse
Created with CeRegEditor a .REG-file which contains hex(7) <=> multi_sz lines - I've attached it. Same result as previously reported: Lines containing a hex(7) <=> multi-sz value weren't converted. I give up, thank you for your time.
BTW: the delimiter,terminator for multi-sz values in provxml-files is
Code:
<parm name="TestValueMultiString" value="string1string2string3" datatype="multiplestring" />
Appendix:
People knowing of MortScript might use this script I created to batch-process the RegToXML converter:
Code:
#RegToXML.mscr
ErrorLevel("warn")
Local()
SetMessageFont(12, "Tahoma")
Path = SystemPath("ScriptPath")
MST = MortScriptType()
If(MST ne "PC")
BigMessage("^NL^This script is intended^NL^to be run at your desktop PC.^NL^Hence you must use^NL^MortScript's PC Version !!!", , FileBase(Path))
Exit
EndIf
BigMessage("Put .REG file(s) in the^NL^\REG_Original directory.", FileBase(Path))
If(FileExists(Path\"REG_Converted\*.reg"))
Delete(Path\"REG_Converted\*.reg")
EndIf
ForEach reg In Files(Path\"REG_Original\*.reg")
SetFileAttribute(reg, "system", FALSE)
SetFileAttribute(reg, "readonly", FALSE)
EndForEach
Xcopy(Path\"REG_Original\*.reg", Path\"REG_Converted", TRUE, TRUE)
idx = 0
ForEach reg In Files(Path\"REG_Converted\*.reg")
idx += 1
RunWait("RegToXml.exe", reg)
Delete(reg)
EndForEach
idx2 = 0
ForEach xml In Files(Path\"REG_Converted\*.xml")
idx2 += 1
EndForEach
BigMessage("" & idx & " file(s) processed^NL^" & idx2 & " file(s) converted", FileBase(Path))
jwoegerbauer said:
Created with CeRegEditor a .REG-file which contains hex(7) <=> multi_sz lines - I've attached it. Same result as previously reported: Lines containing a hex(7) <=> multi-sz value weren't converted. I give up, thank you for your time.
Click to expand...
Click to collapse
I took a look at the .reg file. Firstly, it isn't valid as the value names "\Storage Card\MioAutoRun\Programs\Microsoft .NET CF 3.5\Microsoft .NET CF 3.5.GAC" haven't got the \ characters escaped. I fixed that with a search and replace, but it also looks like the multi-string values contain unicode data, which is also not valid for the reg format. I don't know why CeRegEditor is producing invalid reg files like this.
As you are giving up, though, I won't pursue this any further.
Alex
Cleaning up reg/rgu
Thank you for your tool! I'm still using it in my Kitchen
I want to point out a nice other tool to clean up reg/rgu (delete duplicated stuff, sort it etc.) you and others might be interested in too;
[UTIL] REG/RGU Cleaner
Have fun cooking!
Senax
I have asked this question on some other xda-developer forums with no solution so thought maybe I was asking in the wrong place.
Basically I have flashed to the new Topaz rom and like the new Start Menu when you tap on Start but I can only add apps and not folders. I want to link to category folders in my Windows/Start/ folder.
Please how can this be done?
I tried to go into the registry to edit the paths for each square but that did not work.
I beg of you lol! Please!
How can this be done? Folders are not .lnk files. Maybe that is the solution to make Folders into .link files.
HELP!
I can answer your question but it is in a wrong section.. so moderators will flog both of us
crajee said:
I can answer your question but it is in a wrong section.. so moderators will flog both of us
Click to expand...
Click to collapse
so answer his question and hope for the moderator to move this thread ;-)
btw: i would be interested in the answer as well
Ok..
Method 1 Only downside is clutter (unlike method2)
Without any third party app lets open a folder called Multimedia in Programs menu:
With a registry Editor got to one of the shortcut keys:
Say: HKLM\SoftwareHTC\Manila\ProgramLauncer\18
Create (if not exists) a string Value :
Name: command
String: windows\Start Menu\Programs\Multimedia
Edit the Path key:
String: windows\fexplore.exe
Save and exit your reg editor.
Click the shortcut and it will launch file explorer with the folder.
You can Change the View options in File Explorer to "Icon".
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Please wait for method 2..
Method 2
Folderview.exe from HTC has been notorious in having a hard coded encrypted path to Programs Folder and could not open any custom folder, and use to end only in questions how to do it. After much reversing this has been almost overcome in this app. Enjoy!!
Folder Viewer
Q.What does this app do?
A. It allows you to navigate through custom start menu folders on Blacksone that you can create
and categorise your applications. Modified win 6.1 ROMs have replaced the Start Menu with Manila
Programs Tab. However sometimes you need more customised access to your apps.
Instructions:
=========
Add the Favourites icon to start menu
A. Install FolderViewer.cab
B. Open the Fav.reg with Notepad on your Desktop.
In the line :[HKEY_LOCAL_MACHINE\Software\HTC\Manila\ProgramLauncher\2]
Replace "2" with the icon of your choice in the start group.
The icons are numbered as follows:
0 1 2
3 4 5
6 7 8
And so on...
Create the Start Group Shortcut
Copy the Fav.reg to your Blackstone.
Import the registry the file with your favourite registry Editor.
Create App Shortcuts in windows\Start Menu\Favourites:
Create Subfolders in the "Favourites" folder e.g System, Multimedia, Business and so on.
(A few have been created for you convenience).
Add the application short cuts of your choice to each folder.
Back Navigation:
In each of the custom folder (Multimedia, Business etc,. Add a shortcut to parent("Favourites" folder)
This shortcut called "Favourites.lnk" has been supplied in this package in sample folders.
Restart your HD. Enjoy!!
Advanced:
You can study the shortcut properties and tweak it your own satisfaction.
Limitations:
1.Navigating All Programs possible on first launch only. You can always click start menu to relaunch.
2.Use the Hard key (Back) to navigate back the second time from a subfolder.
3.Only one level of folders reasonable (but usually enough for most users anyway).
4.Tested on Blackstone with Dutty's 3.4 only.
The author disclaims any responsibility with respect to this application.
Use at your own risk.
you could also go on your pc, navigate to the folder, create a shortcut (which would be a .ink file), put the shortcut on your touch hd and then link to it in the registry editor,
THREAD MOVED to blackstone section
You have two methods now. Let me know if it helps
Matthes42 said:
btw: i would be interested in the answer as well
Click to expand...
Click to collapse
ASK768 said:
you could also go on your pc, navigate to the folder, create a shortcut (which would be a .ink file), put the shortcut on your touch hd and then link to it in the registry editor,
Click to expand...
Click to collapse
You will get a File Not found Error.
total commander is good for making shortcuts
Thanks Crajee. I used method 1 except did not use the path setting: String: windows\fexplore.exe
Instead I used the path: "\windows\start menu\games" for example
Thank you so much!
A few questions...
1. I want to use the hi res folder icon from "file explorer" each category folder. How can I link to it?
2. What is the path for manilla settings or win mo settings page as I accidentally deleted them?
3. I want to use the hi res topaz icon used for "File explore" in each category folder. What is the "Icon path" info i need? Is it to a specific dll file?
4. Finally, are there any custom icon sets i can impost and choose from or how can i customise my own icons and use them for folders or apps.
Here is the result below.
@ tboy2000 on your custom folders you never got error messages trying to open them?
(deleted)....
no mate.
here is an example of one folder...
....HTC\Manilla\ProgramLauncher\6
(Default)
(value not set)
command
\windows\start menu\office
DispName
Office
Icon Path
Is ReadOnly
0x0 (0)
Path
\windows\Start menu\
but that's not a custom folder that's one of the folders cooked into the rom.
I made a folder of my skyscape medical books, named it med books, when i did "windows\start menu\programs\med book" for the path, i get the certificate error or that it cannot be found.
for me, it works using method 1 as crajee outlined, using windows\fexplore.exe.
That aside, i'd also like to know which dll has the icons b/c i don't like having the fexplore icon...fugly...
Hi tboy2000, Nice to know it works well for U.
tboy2000 said:
2. What is the path for manilla settings or win mo settings page as I accidentally deleted them?
Click to expand...
Click to collapse
Manilla Settings path:
Command = --switchtopage Manila://settings.page
Path = \Windows\manila.exe
IconPath = \windows\HTC\Assets\Images\programlauncher\Program_icon\settings_88.qtc
DispName = [[IDS_SETTINGSTITLE]]
If you want Direct link to "All Settings" then U should use custom apps as I described in another post.
tboy2000 said:
3. I want to use the hi res topaz icon used for "File explore" in each category folder. What is the "Icon path" info i need? Is it to a specific dll file?
Click to expand...
Click to collapse
DRTigerlilly said:
That aside, i'd also like to know which dll has the icons b/c i don't like having the fexplore icon...fugly...
Click to expand...
Click to collapse
Again it seems not possible to link icons from dll files like in usual shortcuts.
So you need to extract the icon of your choice from the shellres.192.dll (copy to Desktop and extract with resource explorer eg. Reshack. Save as .ico file and copy to windows directory). In the IconPath use "\windows\myicon.ico" where myicon.ico is the name of the icon U extracted.
tboy2000 said:
4. Finally, are there any custom icon sets i can impost and choose from or how can i customise my own icons and use them for folders or apps.
Click to expand...
Click to collapse
Not I am aware of. There are a few posts on this in this forum though.
tboy2000 said:
no mate.
here is an example of one folder...
....HTC\Manilla\ProgramLauncher\6
(Default)
(value not set)
command
\windows\start menu\office
DispName
Office
Icon Path
Is ReadOnly
0x0 (0)
Path
\windows\Start menu\
Click to expand...
Click to collapse
May be some thing else you have set??
For example for me this method opens up "All programs" with the Title Office..
No Filtering occurs..
For me, when i click on a category icon, i get the list of apps in the category with the category title. See images below.
I have also used the pc prog in this link below to change the icons in my start menu...
http://forum.xda-developers.com/showthread.php?t=513501
I have not set anything else. Yes I used office in my example above but it also works with folders i have made up such as travel.
Hmmm... tboy2000 I can't understand but that would be cool. Mine always goes to first item for All Programs - Dutty 3.4. Only Title chnages. What ROM are U using?
That's why i hacked the old method (Method 2).
Anyone else??
I am using Dutty 3.4 rom also.
I just had a thought. If it just shows All Programs, that means you don't have any sub-folders in your windows start menu directory. Make sure you create new folders and name them for each category.
i thought it would be handy to create a thread for icon tutorials that are simple to use and understand
feel free to add your own tutorials here or ask any questions, if i am not able to answer then i hope someone else will
if you do post a differant way of doing icons, please explain it step by step so the newer chefs can follow instructions easily. your tutorial will be added to this first post. this way all the tutorials will be in one post, users dont need to find it, they simply just scroll to the next tutorial
(all tutorials will be quoted for credits)
*you can find plenty of free icons @ WWW.ICONFINDER.COM
**the way ill be showing you is with the icons inside a .dll that you can link to almost anything
eg, program shortcuts within the start menu is the most common**
firstly you will need to download some tools needed
download tools here
(inside tools.rar is: icofx, reshacker, blank .dll)
##########
##########
##########
*install and open ICOFX
*click: tools
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
*batch prosess
*if your doing start menu icons i use 128x128 with xp colors (max color)
add the icons you want and select the destination folder and click ok
*icons with a specific height and width are best to do these individually =
file\new or drag and drop your .PNG and select custom size
*now you have made your own custom icons.
*i have attatched a blank .dll in the winrar file below, just rename it.
*i have opened the blank .dll and added a custom icon so you can see how it works.
*it is simple enough, icons added will be labled 1,2,3 etc - then click save when done
(delete the automaticly saved .BAC file created by icofx, it is not needed)
*to link your icon to a specific program on your device, either edit your program XXXX.lnk or create a new .lnk
(rename a blank .txt file to .lnk)
*add this into the the .lnk replacing the XXXX with your program name and .dll name
#\windows\XXXX.exe ?\windows\XXXX.dll,-X
*no number before # eg, usually you would have a number of how many leters are in the link = the amount of letters is not needed
*-X is the number position of the icon inside the .dll
*if your icon is for a folder, rename the .lnk to ICON.lnk
*inside the icon.lnk should be
1#XXXX.dll, -X
*now put the ICON.lnk into the specific folder you want icon for
##########
##########
##########
**i will now show you how to edit/replace the icon inside either a .dll or an .exe file**
*in this example i have used the blank .dll from the first tutorial
*reshacker shows all the contents inside a .dll and also with .exe files too (not just icons)
*open/run RESHACKER
*click: file\open - select your .dll or .exe
*as you can see i have circled the icon number with red = ignore the highlighted 0 (zero)
*rightclick to get these avaliable options
*from here you will be able to replace the icon
*when finished click file\save
*it automaticly creates a XXXXX-original.dll/.exe file
*some .exe do not like their icons being changed.
##########
##########
##########
FInixNOve said:
* Unsigner - to remove the digital signature from the dll.
* Multiple file Signer - to digitally re-sign the finished dll.
* First, remove the digital signature from the dll you’re going to edit, because the icons you’ll be replacing later can have different color depths and that will leave you with an unusable dll (meaning that you’ll not be able to re-sign it).
o To unsign a file, all you have to do is drag the dll/mui file over the unsigner.exe and release it. A command window will open and close. You will know if the file has been unsigned by checking its size (it will be smaller). Also remember that the file can't be as read only or the tool will not be able to unsign it.
* Then, using the resource editor extract the icons, you wish to edit, from the dll.
* With the icon creator application, or by searching the web, make/get your icons.
* After this, use the resource editor once again to replace the now edited icons inside the dll.
* To finish, re-sign the dll using the Multiple File Signer tool
Click to expand...
Click to collapse
ill update this tutorial as soon as i can
thanks
Rn
Thanks nice to see this so quickly .
Cheers!!!
Great
So, help me, please How do I set it up in my reg file (assuming my dll is called Start_Icon.dll):
[HKEY_LOCAL_MACHINE\Security\Shell\StartInfo\Start\Today] <<=folder
"Icon"="\\Windows\\Start_Icon_Today.png"
[HKEY_LOCAL_MACHINE\Security\Shell\StartInfo\Start\Java\JavaShortcut.lnk] <<=shortcut
"Icon"="\\Windows\\Start_Icon_Javashortcut.png"
Thank you.
you do not need to add any registrys
best part of doing icons my way
(also assuming you have done the first tutorial with icofx)
create new .lnk
open .lnk with notepad and add this:
* FOR TODAY FOLDER ICON
1#Start_Icon.dll, -X
*rename .lnk to ICON.lnk
*put .lnk into start menu/programs/today FOLDER
*if your cooking then i suggest you rename the icon.lnk to something else when copying the .lnk to start menu/programs/today - otherwise the windows folder will have the icon for your today folder (eg icon.lnk in windows folder will change the windows folder icon)
* use this in initflashes.txt to move/rename your .lnk = Directory("\start menu\programs\today\"):-File("ICON.lnk.","\Windows\MYTODAYICON.lnk")
* FOR JAVA SHORTCUT
#\windows\java.exe ?\windows\Start_Icon.dll,-X
*java.exe (or what ever java program you are using)
(-X = number location of icon inside .dll)
*eg, if the icon number is 1 then you will have -1
Rn
Thanks raving_nanza. However, I noticed .ico files are much larger than .png files. What's the advantage with doing it this way?
Thanks
illi said:
Thanks raving_nanza. However, I noticed .ico files are much larger than .png files. What's the advantage with doing it this way?
Thanks
Click to expand...
Click to collapse
icos are used in dlls or exes, where as pngs are used only in startmenu using registry. Hence icos are much smaller, but lower in quality compared to pngs...
all your .ico in one single .dll rather than having X amout of .png's clogging up the windows folder. (cleaner)
no registrys to write, just edit the .lnk to the program (registrys use memory, no registry needed)
if editing the .exe directly and replacing the icon (no memory added)
ico drawing is definitely faster.
Thanks for the clarification guys. I appreciate it very much
Use ResHacker to change icon in EXE,DLL file
yeah dude, use reshacker to edit .dll or .exe
use icofx to edit the icon.
(i use photoshop and then convert a .png to .ico)
Rn
MsSigner
Hi,
I've edited the taskbar dlls and changed the icons, but then I'm not able to make them to work.
This tutorial is missing the signature issue.
I've found that dlls need to be signed after modification, and seems that also need to unsigned before editing.
Found the tolls (UnSigner, Signer, and WM65Certs), but I guess that I'm making a mistake in the process.
Can someone indicate how to edit taskbar dlls? (E.G: phcanOverbmp.dll, shellres.192.dll, tapres.192.dll, etc)
- Does original MS dlls need to be unsign before editing?
- Which certificate need to be used for signing?
- how to add the certificate to the cab? Anyone have a cab with the new certificate?
Have someone use restorator instead or reshacker?
Best regards
EDIT
Found this [TUT] from FInixNOver
Do we need a new sdkcerts.cab if we sign dlls using the new certificates?
FInixNOver said:
How to make your own set of Battery Icons:
You'll need some programs, and of course, the dll.
Unsigner - to remove the digital signature from the dll.
Reshack / PE Explorer / Restorator - resource editor to extract/replace the icons inside the dll
iconFX or any other icon editor (GIMP can also handle .ico files) - to edit/create icons
Multiple file Signer - to digitally re-sign the finished dll.
How to do it?
First, remove the digital signature from the dll you’re going to edit, because the icons you’ll be replacing later can have different color depths and that will leave you with an unusable dll (meaning that you’ll not be able to re-sign it).
To unsign a file, all you have to do is drag the dll/mui file over the unsigner.exe and release it. A command window will open and close. You will know if the file has been unsigned by checking its size (it will be smaller). Also remember that the file can't be as read only or the tool will not be able to unsign it.
Then, using the resource editor extract the icons, you wish to edit, from the dll.
With the icon creator application, or by searching the web, make/get your icons.
After this, use the resource editor once again to replace the now edited icons inside the dll.
To finish, re-sign the dll using the Multiple File Signer tool.
That's it!
Click to expand...
Click to collapse
i use reshacker
if their not working after you have signed them, then i think you need to install sdkcerts.cab to your device , softreset and then install/overwrite your old .dlls in the windows folder - and then softreset again
i might be wrong though so dont quote me on that. 60/40
*ill add the sign/unsign to the firsty post
Reshacker & CeleSign
For Sign-Unsign I use CeleSign. It´s very intuitive. The certificates are updated. Just run CeleSign, [not signsis neither SISSigner (inside also)] setup pvc, spc and file to unsign-sign. If the file is signed you must remove the certificate for sign after. Regards
It would also help you guys customizing your own icons in Start Menu by using my JWMD Icon Changer
more stuff at my sig
I want to replace phcanhtc.dll and phcanrc.dll with these dll (http://forum.xda-developers.com/showthread.php?p=5910397#post5910397) for wm6.5.3 with all fixes but I do not know how to do it.
I've searched on forum without relevant results.
Please help
me too, i really dont know
Why not simply, when device is booting i.e. processing HKLM\init, override old dll-version with new dll-version?
Code:
Launch9999="CopyDLLs.exe"
Depend9999=hex:14,00,1E,00
Could You elaborate a bit on that information? I mean, what is "CopyDLLs.exe" and how does it work? Where to find more information about it (Google doesn't return much...)? What is the "Depend" key and what does that HEX mean?
TIA
Thought the concept behind the solution proposal I outlined above is reconstructable to everyone:
1) you simply add two lines to [HKEY_LOCAL_MACHINE\init] with which an executable ( of your choice, I use freeware TULL.exe for those reasons - you can name it how you want to do it, ex. CopyDLLs.exe ) is started. BTW: 'DependXXXX' is the load order index for 'LaunchXXXX' and 'hex' indicates that it's a binary value.
2) using TULL.exe you create a related .INI-file that is read by TULL.exe (or renamed to CopyDLLs.exe, what I think is more meaningful) with contents like this:
Code:
;overide xyz dll
C "\Save\xyz.dll" "\Windows\xyz.dll"
;done
FYI: TULL.exe you can downlad here
Thank You for that valuable information! I have been using and customizing WM four years now and I have so far understood that it's impossible to replace DLL-s which are in ROM and cannot be overwritten with Resco or similar file manager. Although I don't need it anymore (I would have a year ago), it's still good to know. One question tho, if I may... By asking "what does hex mean" I didn't really mean that, I know there are DWORDs, binary values etc, sorry about that I actually meant what does that value do. But You already answered that. I still wonder, how is that load order index constructed, I mean, how do I know what to put there?
TIA.
OverWrite vs. Override
1) You have to distinguish between terms 'overwrite' (i.e. physical replacement) and 'override' (i.e. logical replacement). The method I suggested is to 'override' a DLL before its first use. If a DLL is already loaded, the method of course will NOT work (only the internal DLL counter is incremented by 1)!
2) With regards to how determine DependXXXX value (excerpt from http://msdn.microsoft.com/en-us/library/aa446914.aspx):
The other option for launching an application at boot time is to use the HKLM\Init keys, this requires that the application call back into the operating system by calling SignalStarted( ); to let the operating system know that the application is running. The reason for this is that the HKLM\Init keys have two parts, LaunchXX and DependXX. The LaunchXX key (where XX is a numeric value) simply points at the executable to launch. For example, take the following snippet from my operating system image registry file (once the operating system is built, the complete registry can be examined in text form in the build release folder as reginit.ini)
[HKEY_LOCAL_MACHINE\init]
"Launch10"="shell.exe"
"Launch20"="device.exe"
"Depend20"=hex:0a,00
"Launch30"="gwes.exe"
"Depend30"=hex:14,00
The snippet from the registry above launches three processes, Shell, Device, and GWES. Notice that device.exe (Launch20) has a dependency on Hex:0a (10 decimal). This equates to Launch10, or shell.exe, so the Shell process needs to signal the operating system that it's up and running so that any dependencies (in this case device.exe) can then be started. The same is also true of gwes.exe (launch30), device.exe depends on hex:14 (20 decimal), so GWES can't run until device.exe calls SignalStarted.
OK, thank You again for the thorough explanation. I just want to confirm one thing - as far as I understand from that description, it would also be possible to launch an *.exe which will copy and overwrite the original DLL before it's loaded in boot order? I ask because a bunch of the DLL files cannot be overwritten after the device has booted. Like I said, some of the files in ROM can be overwritten and some cannot be. I have so far suspected that the ones that cannot be overwritten cannot be overwritten because a) they are already loaded; b) they are locked by some process. I cannot imagine any other mechanism that distinguishes between one DLL and another. Would it work or am I missing something here?
You didn't read it carefully
Again: YOU HAVE TO DISTINGUISH BETWEEN OVERWRITE AND OVERRIDE. We all know that a file located in ROM never can be 'overwritten', but 'overridden', this due to the fact how WinCE searches for a DLL called by an application: 1 -> in directory where the application is located, 2 -> in folder \Windows, 3 -> in folder declared in CE's SystemPath and 4) finally in ROM.
Ending this excursion into the world of WinCE: If you make the desired DLL-copy-operations directly after device.exe (CE 5) / device.dll (CE 6) has done its job (means file system is mounted and ready to be used) you can 'override' each ROM-located DLL if it isn't already lasting (loaded) in RAM, means you simply copy new version of DLL to folder \Windows. BTW: The DLLs you see in \Windows might be located in ROM, or not ( i.e. located in RAM - folder \Windows itself is RAM), this depends on how OEM implemented this.
Only a practical example I've in use:
Code:
;
;increase storage memory (KB)
W \NandFlash\CE-Utilities\SetSystemMemoryDivisionKB.exe, 3072
; delay execution by the passed value in milliseconds
D 1000
;load backlight settings
W \NandFlash\CE-Utilities\regimp.exe, /f:\NandFlash\MyRegistry\backlight.ini /s
W \NandFlash\CE-Utilities\RegFlushKeys.exe
;prepare using .NET CF 3.5 instead .NET CF 2.0 (ROM located)
C "\NandFlash\NetCFCfg\device.config" "\Windows\device.config"
[COLOR="Red"]C "\NandFlash\MyCESystemPath\mscoree.dll" "\Windows\mscoree.dll"[/COLOR]
; delay execution by the passed value in milliseconds
D 1000
Original ROM-located mscoree.dll (part of pre-installed .NET CF 2.0) gets overriden with mscoree.dll that comes with .NET CF 3.5, thus now .NET CF 3.5 is running instead of .NET CF 2.0
Thanks again for Your answer, which is again thorough and informative. Basically You answered "Yes" to my question I say this because - as I am not as knowledgeable about WinCE system as You are - it seems I just call the process that You describe as "overriding" simply "overwriting". This is because I wasn't aware how WinCE searches for a file or how the \Windows\ folder contents is handled / processed. And also because when I copy a DLL file to \Windows\ folder, Resco simply asks "Do You want to overwrite...?" etc I am not a WinCE developer, I'm simply an enthusiast and I might call things more simply, sorry for that. But I think I got valuable information from You one way or another and the most important thing is, I got the point. However You call it.
@jwoegerbauer: Thanks friend for the nice examples and explanations .
Cheers!!!
I want to copy a new NLS file to a WinCE device, before system was loaded.
I've tried to do what you suggested here, jwoegerbauer, with my Mio C520.
I've wrote registry keys to activate the sciprt I wrote, before the system loaded - with no success.
I've tried both MortScript and TULL as script-language - both with no success.
The registry keys that I've tried to import are:
Code:
[HKEY_LOCAL_MACHINE\init]
"Launch25"="\My Flash Disk\Temp\CopyNLS.exe"
I've tried also to import
Code:
"Depend25"=hex:14,00
which cause the system to freeze in the main menu (before MP is loaded), and
Code:
"Depend30"=hex:14,00,28,00
which cause the system to freeze in the boot load.
I'll be happy to know what else can I try to activate the code.
If the wince.nls is located in the XIP already you cannot override it. It is loaded before the FAT partition is there and the filter driver could redirect calls to the FAT copy of a dll.
You need to re-cook with the wince.nls moved to the SYS, seems however that some specialties need to be taken care of when doing so (search here at XDA for this).
So, I understand that my only option is to implant a soft-reset during the installaion of MioPocket.
Do you know how to do soft-reset with those chinese devices?
Reset does not help you if the wince.nls is located in the XIP. You will not be able to replace it with any means - the OS will load it before you have any chance to interfere.
Your only option is to replace the OS (with a cooked one) where the wince.nls is different from the start - or where it is not located in the XIP partition.
Why do you want to replace the wince.nls? Probably your problem can be solved another way?
Well, actually, in the Mio C520 - reset does help me. It's re-written the wince.nls file with the one I copied, and used it very well.
My problem now is my Chinese device, based on WinCE 6.0 embedded.
I've installed MioPocket on it, and translate some of the words to Hebrew. The problem is that the hebrew is 'backwards', meaning if for ex. instead of "Hello" - It'll show "olleH".
Here is screenshot of both devices, to the left is the Mio C520, which is OK, and to the right is the Chinese device, which is written 'backwords'
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
So I thoght - maybe, if I'll made the Chinese device to do soft-reset, just like the Mio - maybe the problem will be solved.
But maybe you are right, and there's completely another solution to this problem. I sure hope there is...
Well, I can neither read Chinese nor Hebrew - so nothing to guide you here.
Not sure what you wanted to achieve with the new wince.nls
What I understood is that this files basically gives you all the entries in the Locale panel of the settings file - so where you can select the format of the time/date or currency. First you select the Locale (not UI language which is a different setting) and then you can pick for each of the items defined by this locale set the relevant options that are stored in the wince.nls file. It also holds all menu items of that local setting in all languages - which makes it quite big depending on the number of languages supported.
So if you could "replace" the wince.nls, then for sure it is not in the XIP and all my previous comments are useless for you.
If you are after swapping the direction of writing on your device this is a totally different thing. I am sure it is not part of the .nls but a system setting for the UI part of the device. You may need to search for "Arabic Support" or alike in the Windows CE forums around the world. I have not seen much discussed here at XDA for this specialty.
Good luck!
After a search inside the GPS file system (I forgot to mention that in the original menu of the GPS the Hebrew was just fine - meaning from right to left - what led me to think there's something in the OS responsible for that) - I found a file named SetLanguage.exe which may be repsosible to display the hebrew in the right direction.
Anyone in here can hex the file and understand what's it's usage?
I attached also file named Arab.dll, maybe is also related..
Any help will be much appriciate!
Absolute OFF-TOPIC
@Cheetah64d
SetLanguage.exe (by Lenovo Beijing Ltd.) you attached depends on libraries
Arab.dll, MultiLanDll.dll, ApicalDrvApi.dll, AppLoginDll.dll, MFC80U.dll and COREDLL.dll.
Click to expand...
Click to collapse
This executable is only useable on very specific devices.
As stated by MS, Windows CE by default uses the fonts as listet next to implement hebrew
Arial (subset 1_08) arial_1_08
Arial Bold (subset 1_08) arialbd_1_08
Courier New (subset 1_08) cour_1_08
Tahoma (subset 1_08) tahoma_1_08
Tahoma Bold (subset 1_08) tahomabd_1_08
Click to expand...
Click to collapse
Hi guys n girls,
Intro
I am not sure if this is even relevant on here or not? But I figured I should share anyway. Like I mean I don't know how many of you guys use your desktop now that there is the start screen? Or how many of you even use right click menu much but for myself right click is the most used functionality I use in Windows and quite frankly come to expect from other IT systems (web, Linux etc) so this may or may not apply.
Problem/Issue
I have for ever got sick and tired of right click -> open Send to Menu and creating a Desktop Shortcut for a file or app....then needing to go to the Desktop right click the newly made shortcut and then removing the trailing file extension, dash and words shortcut in brackets. If you are like me and you want a solution where you just right click -. Create shortcut and forget and not need to do anymore then look no further.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Solution
I have small AutoIT app (compiled script) that does exactly that.
Desktop (create shortcut).au3 SHA1 - 630A9CE23BF669035EEB089C2948BBD8B38BB505
Desktop (create shortcut).exe SHA1 - 829518AD4233E59D686822D960AAC71405D57CCD
Desktop (create shortcut).ico SHA1 - 16239287978841199F8A2FC56AA36EE55F197083
Download Link Desktop (create shortcut).zip
Virustotal readout - God knows why anyone would use any of the virus scanners flagging AutoIT as a virus. This indicates to me that they are merely only searching for header info and not actually decyphering any of the code. That should be alarming to anyone. Anyway here it is, it gets 2 false negatives out of 52.
https://www.virustotal.com/en/file/...8c0dc26f98e780ae4fc546ed/analysis/1398978188/
Now the code so that you can compile it all your self. For the Geeks in other words
I have commented each part so that those of you just learning or getting a grasp of AutoIT can understand. It is really quite simple however it does take in to consideration a lot of things which many .au3 script writers tend to neglect, such as returning of the proper file extension does not mean StringTrimRight($filename, 4), as it doesn't account for long extension names nor does stopping at a period/point/fullstop.....what happens when a directory has a period? What about names of files that have other periods such as This.is.an.example.file.name.au3
Code:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=Desktop (create shortcut).ico
#AutoIt3Wrapper_Outfile=Desktop (create shortcut).exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.10.2
Author: Jarmezrocks
Script Version: 1.0
Script Function: The purpose of creating this was due to an annoyance with Windows 7 where
I was constantly editing the shortcuts created from the right click 'Send To'
create 'Desktop (create shortcut)' where I would need to remove the junk that
Microsoft attached as a postfix i.e. - (short cut) and remove the file
extension as well. E.g. Notepad.exe -> creates a shortcut 'Notepad.exe - (shortcut)'
when what I really wanted created was a shortcut called 'Notepad'
This AutoIT script was created to solve this issue/annoyance.
Usage: Place the compiled exe where ever you like (here's the inception part LOL)
right click the compiled exe and create a shortcut (remember you won't have to do this ever again haha)
rename it 'Desktop (create shortcut)' the same as the Desktop (create shortcut).Desklink
item in the Send To menu.
Locate your Send To menu: Start -> Run -> type this: shell:sendto -> press enter
This opens the directory for your Send To items, likely located somewhere like
C:\Users\<User Name>\AppData\Roaming\Microsoft\Windows\SendTo
Paste the shortcut to the exe here
Note: You will now have a duplicate in the Send To menu, so I advise that you hide the old .Desklink item
Right click -> File Properties -> Hidden
Done!
Test by Right clicking any file and choosing Send To -> Desktop (create shortcut)
Acknowledgements: AutoIT Forums;
User Harlequin for this post/thread -> http://www.autoitscript.com/forum/topic/86839-how-get-file-extension/#entry623386
User Voodooman for this post/thread -> http://www.autoitscript.com/forum/topic/122807-remove-extension-from-the-filenameexample/?p=1110846
Future plans: Following versions (still testing - *I have a bug I need to iron out) should allow the user to double click the executable and
Choose to install it to the Send To context menu and automate the part outlined above in the usage section (hide the old desklink)
and create a shortcut of it's self. It should do checking so that if the user double clicks the exe again it checks for either the
existing Desklink extension or the shortcut.lnk and prompt the user if they want to remove it and restore the original Windows functionality.
#ce ----------------------------------------------------------------------------
Global $Input = $CmdLineRaw ; Obtain the selected file full path (name of file and location) as a string parsed as a command line parameter i.e %1
Global $LinkFileName = RemoveExt(GetFileName($Input)); Generate the file name from the input using the following functions
; These are pretty self explained - Thanks Voodooman (You may have necro-bumped an expremely old thread created by n00b years before who has now become a developer but we all forgive you - your post is valid)
Func RemoveExt($Input)
Local $ExtArray = StringSplit($Input, ".")
Return StringReplace($Input, "." & $ExtArray[$ExtArray[0]], "", -1)
EndFunc ;==>RemoveExt
Func RemoveExtRegExp($Input)
Return StringRegExpReplace($Input, "\.[^.]*$", "")
EndFunc ;==>RemoveExtRegExp
Func GetFileName($Input)
Local $PathArray = StringSplit($Input, "\/")
Return $PathArray[$PathArray[0]]
EndFunc ;==>GetFileName
; Importance of the following. As pointed out by Harlequin using any StringRightTrim methods of obtaining the extension doesn't account for several things
; "." can located in the path of a folder name and "." can appear more than once within files or folders i.e What would one do when trying to return
; the extension of a html file or any other long extension file type?
Func CreateLink()
If $CmdLineRaw Then ;Check if it's a command parameter i.e. %1 or path to the file you want a shortcut made for
For $YLoop = StringLen($CmdLineRaw) To 1 Step -1 ; Loop through the all of the "." in the path and string from the last "."
If StringMid($CmdLineRaw, $YLoop, 1) == "." Then
$Ext = StringMid($CmdLineRaw, $YLoop) ; Generate the extension type
$YLoop = 1
EndIf
Next
Local $Type = RegRead("HKEY_CLASSES_ROOT\." & $Ext, "") ; Look up the type from the registry to find the application
Local $FileName = $CmdLineRaw
Local $LnkFileLocate = (@DesktopDir & "\" & $LinkFileName & ".lnk"); Here is the working part - Generate the Desktop shortcut from the derived file name
Local $WorkingDirectory = ""
Local $Icon = RegRead("HKEY_CLASSES_ROOT\" & $Type & "\DefaultIcon", ""); Derive the file type icon from the registered application
Local $IconNumber = 1
Local $Description = "" ; I decided to leav this blank
Local $State = @SW_SHOWNORMAL ;Can also be @SW_MAXIMUM or @SW_SHOWMINNOACTIVE or even @SW_HIDE
If Not FileExists($LinkFileName) Then ;Check there isn't already as shortcut
FileCreateShortcut($FileName, $LnkFileLocate, $WorkingDirectory, "", $Description, $Icon, "", $IconNumber, $State); Generate the shortcut
EndIf
EndIf
EndFunc ;==>CreateLink
CreateLink() ; Execute the Function
Thanks for sharing. I can't say I've ever actually done this - leaving aside the fact that I don't use the desktop to store things much, if I were to do so I'd be more likely to use mklink instead of the context menu (I use the command line *way* more than I use any Metro app, and nearly as much as I use the desktop with a mouse) - but it's good to have solutions, and it'll probably help somebody. I just tried creating such a shortcut and I agree the added name stuff is annoying.
Thanks mate
Well, I tend to post things more so for the discovery. To me it was more fascinating working out the code to use to solve the issue rather than the issue it's self. Like when you think about it, the research and time that went into developing the code to generate the shortcuts to save time probably took longer than what it would take to correct a million shortcuts....but that's beyond the point. IMHO we as people should change how we do things if we learn that there is a better way. It takes sharing your discoveries with others before the true benefits are realised.
There is a long-known small software that allows you to do just what you wanted and more, with a simple and user-friendly GUI.
You can find it on google looking for "vista shortcut overlay manager" aka fxvisor.
It allows you to replace or remove the arrow on the shortcut icons and to remove the "- Shortcut" extension, permanently (you can uninstall the program after you've done".
It was originally designed for Windows Vista, but works just great even on 7 and 8/8.1. Just download it accordingly to your 32 bit or 64 bit Windows version (32 bit version doesn't work on Windows-x64 and vice-versa).
Uncle Scrooge said:
There is a long-known small software that allows you to do just what you wanted and more, with a simple and user-friendly GUI.
You can find it on google looking for "vista shortcut overlay manager" aka fxvisor.
It allows you to replace or remove the arrow on the shortcut icons and to remove the "- Shortcut" extension, permanently (you can uninstall the program after you've done".
It was originally designed for Windows Vista, but works just great even on 7 and 8/8.1. Just download it accordingly to your 32 bit or 64 bit Windows version (32 bit version doesn't work on Windows-x64 and vice-versa).
Click to expand...
Click to collapse
This only does what the registry edit above does. It still does not replace the file extension attached on the end. And one may as well edit for one as they would do for all. Back to square 1. Thanks for the pointer though I did already know about these guys and have used their app before, some other forum member might find this valuable.
I don't understand.
The "Vista Shortcut Manager" program worked for me, on my Windows 8.1 32 bit.
It DOES remove the "- Shortcut" extension when I create desktop shortcuts.
Uncle Scrooge said:
I don't understand.
The "Vista Shortcut Manager" program worked for me, on my Windows 8.1 32 bit.
It DOES remove the "- Shortcut" extension when I create desktop shortcuts.
Click to expand...
Click to collapse
Aggggghhhhhh :silly: DW
What I meant was...
What about the file extension?
notpad.exe normally goes to -> notepad.exe - Shortcut
With "Vista Shortcut Manager" (the same registry edit mentioned by another member)
notepad.exe goes to -> notepad.exe
I still then need to double long click or right click shortcut properties and remove .exe from the end.
What I want then is this
notepad.exe goes to -> notepad
"Vista Shortcut Manager" doesn't remove the .exe off the end of the shortcut it created, it only removes "- Shortcut" from the end. In other words, if one has to go to the shortcut created, right click and edit the shortcut and remove ".exe" or (insert any file extension here) then what is the point?
If I have to edit the shortcut to do that, then I may as well edit the shortcut to remove ".exe" AND "- Shortcut" at the same time! The idea behind this was to create shortcuts that require no additional 'touch ups' no edits or changing in anyway.
If you're happy to have the file extension left on the end of the file you created a shortcut from then that's fine; this is probably not aimed at you.
But yes thank you for pointing out that helpful app for other people that want the functionality without needing to know why/how etc.....which kind of goes against what XDA is all about. XDA is about developers sharing code, ideas, mods to various devices and computers that we can test, trial, give feedback, improve or just plain use in everyday life.
Again....this isn't specifically about the shortcut nor the desklink applet that creates them, this is more about the code that I posted, and how it 'could' potentially assist other developers who are doing something of their own that might be using say hmm get file extension of some file....say a smali file (which is denoted by a 4 character length as opposed to the more traditional 3 character length like apk) and allowing developers to "recycle" a single function that works for all file extensions rather than write a block of code for each instance. They may do this using AutoIT, or they may look at my code and see how this can be translated (with ease) to work with other languages such as C# and so forth.
Anyway I hope this makes more sense to you now?
Solution unavailable
The link to your solution on Dropbox returns 404 unavailable.