Resextract - resource extractor plugin for Total Commander. - Windows Mobile Development and Hacking General

We all know what Reshack and Restorator are.
For me, only problem is, that sometimes their usage is annoying.
Sometimes files are editable with first program, and vice versa.
I realized, that there's alternative, and damn, it is GOOD.
It saves time when we want to change something fast, also, editing strings is possible too.
From our point of view it is mainly useful for using with exes and dlls, muis are not supported, unfortunately.
Of course, we should remember to not to use it with netcf apps nor upxed files.
Screenshot:
{
"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"
}
RESOURCE EXTRACTOR PLUGIN
Version 1.1.1
____________________________________
FEATURES
____________________________________
- Decompilation of 32-bit PE executables (EXE SCR) and libraries (DLL OCX CPL BPL), resource files (RES DCR).
- Automatic detection of 32-bit executables and libraries by format. Resource files are detected only by extension.
- Resources with primary language are placed in both resource directory and resource type directory. "Primary" means the following: plugin searches for resource that better fits keyboard layouts.
- Resources can be deleted either internally (fast, but not safe; file may be damaged) or using Resource Hacker (you can get it from http://www.users.on.net/johnson/resourcehacker/). Backup copy with name "filename.ext.!!!" is created.
- Supports almost all standard resources. Styles for common controls can be decompiled as named constants.
- Decompilation process is fully customizable. Options can be stored either in the regsitry or in the ini-file (see below).
- Sometimes plugin behaves not trivially (even I sometimes didn't expect the result), so even advanced users should read ReadMe file.
____________________________________
INSTALLATION
____________________________________
You should not register it for any particular extension. Instead, register it for extension like "pe_res_dummy". It will allow entering self-executable archives.
- Unpack "ResExtract.wcx" and "ResConfig.exe" into "Total Commander \ Plugins" directory.
- Configuration -> Options... -> Packer -> Additional packers -> Configure packer extension WCX's
- Enter "pe_res_dummy" into the edit box
- Press "New type", browse for plugin, then press "Open"
- Press all "OK" buttons
If plugin finds ini file, it uses it to store configuration, otherwise registry is used. If you want plugin to store options in the ini-file, copy "ResExtract.ini" to the directory where plugin located.
After installing new version of plugin it is recomended that you run configuration application and click on the "Restore Defaults" button. Otherwise, some new functions may not work correctly. For example, detection of the resource format will not work if there is superfluous "type=extension" string.
____________________________________
USAGE
____________________________________
When your cursor is over one of the files with supported format (see above), press "Ctrl + Page Down" to enter file. You can copy resources from file and delete resources. To delete resource completely delete directory, not file. Otherwise, only resource with primary language will be deleted.
____________________________________
RESOURCES THAT CAN BE DECOMPILED
____________________________________
- Icons (ICO) and cursors (CUR). They can be extracted as a whole or as particular format. Formats have names like "16x16 256 Colors" or "48x48 True Color (XP)". "(XP)" mark in the format name means that it is 32-bit icon with alpha channel.
- Dialogs - both standard and extended (RC). Types and styles are decompiled as named constants for controls: Button, Static, Edit, ScrollBar, ListBox, ComboBox, ToolbarWindow32, RichEdit, SysAnimate32, SysDateTimePick32, SysHeader32, SysListView32, SysMonthCal32, SysPager, SysTabControl32, SysTreeView32, msctls_hotkey32, msctls_progress32, msctls_statusbar32, msctls_trackbar32, msctls_updown32, ComboBoxEx32, ReBarWindow32, ToolbarWindow32, RichEdit20A, BorBtn, BorRadio, BorRadio, BorCheck, BorStatic, BorShade. Styles for unknown controls are decompiled as hex values. All window styles are decompiled as named constants.
- Menus - both standard and extended (RC)
- Borland forms (DFM) are decompiled into the text format.
- Version information (RC)
- String and message tables (RC)
- Accelerator tables (RC). Keys are decompiled into the "VK_" constants.
- XP Manifests (XML)
- Toolbars (RC)
- Registry scripts (RGS)
- Registry installation (INI)
____________________________________
AUTOMATICALLY DETECTED FORMATS
____________________________________
- Bitmaps (BMP DIB)
- Text (TXT). If the first KB of resource does not contain non-printable symbols, it is detected as text
- Web resources (HTM HTML GIF JPG JPEG XSL)
- AVI video files (AVI)
- Wave sound files (WAV)
- Metafiles (WMF)
- Executables (EXE)
- Virtual devices (VXD)
- Resources with unknown format have "BIN" extension
- Corrupted with exe-compressors resources have "!!!" extension
- Resources with incorrect format have "!" extension
____________________________________
CONFIGURATION
____________________________________
All lists (extensions, languages) are words separated by spaces. All numbers (languages, resource types) are decimal. If you have already used plugin in this session of Total Commander, for changes to take place you must restart it or call "cm_UnloadPlugins" command. Total Commander caches archive contents, so if options change list of the resources, "cm_UnloadPlugins" will not help, you will have to restart program. Options are saved in the registry under the following key: HKEY_CURRENT_USER\SOFTWARE\Athari\res_wcx.wcx. You can use Regedit to import and export options.
OPTIONS tab
Plugin looks for current keyboard layouts and chooses resource to be extracted out of language directory. If you want to extract all resources of a file, you can disable this feature. "Ignore sublanguages" means that when plugin chooses languages to be extracted, it would not care about sublanguages. That is if you have "English (US)" keyboard layout, resource with "English (UK)" language can be choosen. Resource files cannot be detected by content; they are detected only by extension. If you have resource files with another extensions, you can add this extension to the list. Warning: do not try open file registered as RES, that does not have RES format; it may cause errors.
NAMES tab
Options in this tab affect only resource names and extensions. The first way to set extension is after the name of resource type. These strings have format "type=extension", without spaces. Type can be string or decimal number defining resource type. If resource have already got dot in the name, adding of "BIN" extension can be disabled.
FORMAT tab
This tab is for compatibility with other resource compilers. Some of them do not understand some statements. For example, Resource Hacker does not understand "SEPARSTOR" and a few styles; Borland C++ does not understand most styles of non-standard controls etc. If your resource compiler has any problems using decompiled resources, you can press "Compatibility mode" button. All values will be extracted as hex values, which are understood by every normal compiler. However, resources will lose readability.
EDITING tab
Instead of using internal method of deleting resources you should use Resource Hacker™, because it is much more reliable. You can download it free from http://www.users.on.net/johnson/resourcehacker/. However, it cannot delete icon formats and it is slower. If you want to delete icon formats, you can temporarily disable option "Use Resource Hacker". Warning: if you use internal method do not delete the last resource, file will be damaged.
PACKED tab
Some executable files can be packed with exe-compressors. Some or all of their resources cannot be extracted. You can change extensions or set "hidden" attribute of corrupted resources. In addition, although some resources can be unpacked, they cannot be decompiled. To test format of the resources while opening archive check "Test format" box.
____________________________________
KNOWN PROBLEMS
____________________________________
- If you delete the last resource of particular type, Total Commander does not update the view. It updates only after entering ".." dir. I cannot fix it. Author of Total Commander should fix it.
- If you enter language subdirectory of the only resource of particular type and delete that language, you would not be able to exit from file. You will have to use history (Alt + Down arrow) or enter dir manually (click on the panel title). I cannot fix it too. Therefore, if you want to delete Version Info, you should not enter language subdirectory to do it.
Click to expand...
Click to collapse

Related

MSCEInf (Cab Analyser) : in the same vein as ThemeGenCE

Just published yesterday, another program MSCEInf (http://www.codeppc.com/telechargements/msceinf/msceinf.htm)
is a Cab Analyser which show you all the things done if you install a CAB on your PocketPC : Files, Registry settings, shortcuts...
It lets you extract all files with original names and build the inf file as it was build before compiled to CAB.
So you can make changes, if you need it, and rebuild the CAB with the program of Microsoft CABWIZ (installed by Microsoft Theme Generator).
It works with all Cabs (also with TSK which are Cabs with extension changed).
It is still in french! but easy to understand. If you find that it is helpful, i can translate it in "loosely" english !
Like ThemeGenCE, it accepts "Open With" command and Drag and Drop on the window (drag and drop a cab on the opened window).
Friendly, Benoît
Thanks benoit - an english version would be nice - my french is not that good :wink:
English version has been sent to the webmaster of CodePPC 5 minutes ago.
Maybe on line today... or in two months...
Friendly, BenThon
MSCEInf in English
Now available in English !
http://www.codeppc.com/telechargements/msceinf/MSCEInfEn.zip
Friendly, BenThon
Merci bien Benoit pour MSCEInf.
It's a great one.
thx
Re: MSCEInf in English
BenThon said:
Now available in English !
http://www.codeppc.com/telechargements/msceinf/MSCEInfEn.zip
Friendly, BenThon
Click to expand...
Click to collapse
thanks benoit!
Nice app. Very well done.
tip: can you make clicking the column header sorting that column?
Cheers
Yes, it is possible. But I have just sent to the webmaster of CodePPC a version 1.3.8 with "cosmetic" improvements.
Maybe for the next one ...
Friendly, Benoît
Nice app. Very well done.
tip: can you make clicking the column header sorting that column?
Click to expand...
Click to collapse
In which pages do you think it will be useful ?
Thanks
Sorry for the late reply.
I also use your app when checking what is installed. Sometimes the deinstallation of apps is not perfect on ppc.
So sorting on items that I want to remove (files/dirs and registry hives)
would be very useful.
But is sorting when clicking the column header not default? I assume not.
Is it possible to make it extract only selected files from the cab?
Thanks
Sort Tabs
I have just implemented the alpha sort for each columns in each tabs.
I will put in the next version. Thanks for the suggestion !
I can send you this version if you give me a mail.
Friendly, Benoît
New Version of MSCEInf (1.3.9)
New Version of MSCEInf (1.3.9)
Improvements :
1) Alphabetic sort on each column in each tab.
2) New button for choosing files to extract :
Either check the checkboxes for selecting files to extract.
Or Drag and Drop files to the right column of selected files and also the ability to unselect file by Drag and Drop from the column of selected files to the recycled bin.
3) Links, About box...
4) Cosmetics...
MSCEInf Webpage
Thanks benoit - i find myself using this program more and more!
Look forward to future updates :wink:
Thanks.
If you are planning more opstions ;O)
- extract using the full path name (directory structure)
- drag & drop from the Files tab directly (with posibbility to do a selection
with the more (click, ctrl+click etc)
Got an error once reusing the already started program when dropping a cab onto it. It wasn't the cab. Retried it but could not reproduce it.
The error was in french while I use he english version.
Again great prgram. I use it nearly every day now.
Cheers
Nice App,
A super feature would be if you can double Click a file and open it with its associated application or as second option notepad (or favorite editor). so you can have a look inside with extracting all first.
Maybe even save it back afer modifictions or a feature to replace an existing file.
@BenThon
Nice tool, great work!
In the right direction to become a full alternative to 'WinCE CAB Manager', for which author claims 149US$ :evil:
If we could delete/ insert new entries/files directly in your tool and rebuilt the CAB, it would be superb ;-)
Suugestions for MSCEInf
Thanks for your encouragements !
My comments :
1) Extract files with full path name : not difficult to do (maybe later).
2) Drag and Drop from Files Tab : not difficult to do (maybe later).
3) Double click and open files with
- associated application
- Notepad
not difficult to do (maybe later).
4) Delete/Insert new entries and rebuild the cab : more laborious to do. But you can use the rebuild INF file after editing and Cabwiz to rebuild the cab. It is not difficult to do.
Next version of MSCEInf (1.4) is quite finished. Now, the program also read the _setup.xml file and extract all datas in it. It also rebuild a traditional INF file.
PS : Maybe, instead of the 145 $ for Cab Manager, my program will become a Cardware (postcard from your location)...
Work in Progress !
2) Drag and Drop from Files Tab : not difficult to do (maybe later).
3) Double click and open files with
- associated application
- Notepad
Click to expand...
Click to collapse
Points 2) and 3) are now implemented. Will be published with future version !
Point 1) for tomorrow !... Maybe...
building cab files...
anyone out there know of any good tutorials for using cabwiz and building an inf file from scratch? I have looked and looked! Basically I want to build some basic theme cabs and a few cabs that make registry changes and then put them into my extended rom. (I do a lot of experimenting and therefore a lot of hard resets!)
thanks, jess
MSCEInf V1.4 New version on line !
Contributions of version 1.4
This version now allows the reading of the files "_ setup.xml" contained in the CAB :
- Rebuilt the tree structure of file XML with possibility of extending or of reducing branches of the tree.
- Also Rebuilt a conventional INF file (can be copied to the clipboard).
- Creates a Memo (can be copied to the clipboard) with the Register keys in a format of the Regedit type (for the "Geeks").
For the CABS with a conventional INF file like those with a "_setup.xml" file :
- Possibility of "Using Folder Names" for files saving.
- Additional Informations on the files with also possibility of sorting on these new columns :
- Size of the file.
- Date and Hour of the file.
- Type of the file (its extension).
- Possibility of Multiselection on the files (Shift, Control).
- Possibility Drag and Drop for one or more files towards the Explorer (Folder, Desktop...).
- Contextual Menu on the file under the cursor (Right Button) allowing :
- Open the file with the associated application (If it is a program - Extension "EXE" - the launching of the program is prohibited, which is surer. The icon of the program is shown) or "Open with..." if there is no association.
- Open the file with the Notepad.
If MSCEinf is defined as an application for opening CAB, the program will be loaded. If it was minimized, it will be restored.
If the button of Checking of Signature is activated, MSCEInf authorizes 2 signatures ' MSCE ' and ' CE4+ ' and only those (If it is not one of the two authorized signatures, the pointer of the mouse positions on the button of checking of signature after having posted a message of alarm). If not activated, there is no checking of the signature of the CAB.
With this version you can reorder columns in Files Tabs.
{
"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"
}
CodePPC Page
MSCEInf Page
English Version
French Version
German Version

.cab type file

A .cab file is a file that you must activate from your phone from a file explorer of some sort. To get them onto your device, you mist set up an active sync connection and just drop the .cab file somewhere you can find it. it will then ask you where you want to save it, and viola, it works.
I know this Thread is kinda old by now, but i just got a question on the cab files.
So i see how u make them work now, BUT what exactly are they? what are they made of? what is their exact function?
.CABs are basically .exe files (for Windows) or .app files (on a Mac). They're executable files which install an app onto your device. Think of them as 'advanced' ZIP files.
.CABs are not a kind of .exe (executable) files! Think of them as advanced .ZIP files. A .CAB can be generated using CabWiz.exe (Pocket PC) or CabWizSP.exe (Smartphone). The source of a .CAB file is a .INF (Textfile with a special format - looks very similar the the good old Windows .INI file format) file.
On a WM device the .CAB file extension is associated with wceload.exe which executes the instructions contained in the .CAB file.
Microsoft Visual Studio will create .CAB for "Smart Device Projects" automatically but often they are not very useful. As a good developer you should consider writing own .inf file for your project so you have the full control what will happening if the user opens your .CAB on the device.
CAB = Cabinet
​EDiT: Soon I'll try to make a more readable document about *.cab as is now as described below,
Actually *.cab files gives us WM5/6 Standard Professional users the power to configure our devices the way we want! And fast especially when User Customization is build into ROM thus SDConfig.txt + SDautorun.exe cq runcc.exe cq DevPrep is used! Then we 'the users' and 'ROM flashing junkies' get super fast multi mega provxml and cab battle installs on the fly
Here some Graphic User Interface (GUI) builds around several cabxxx.exe utilities ;
QuickCab was one of my sticky cab application(s)! It made my day several times Nowadays I'm using Extendir Cabs (below).
-=[ Screenshot1 ]=- -=[ Screenshot2 ]=-
::
Did you know that CAB files transfered via ActiveSync may be altered during the transfer process? If you have a CAB file which has been authenticode signed with a certificate, ActiveSync may strip off the certificate during the transfer process if it determines the connected device does not support signed cab files. This is something to be aware of, if you notice your CAB files won’t install if you download them across the network, but will if manually transfered via ActiveSync.
::
Extendir Cabs (with nice GUI) is an utility to create cab files.
Basically it’s a shell around cabarc.exe. It converts rgu/reg/xml/provxml files, create _setup.xml, create all the different install paths to optimize for Extendir (optionally you can switch this off). So it’s very easy to convert your tweaks or packages to a setup cab.
http://forum.xda-developers.com/showpost.php?p=4033241&postcount=4
-=[ Screenshot ]=-
[APP] CabGen - easily create .cab from wap-provisioningdoc ONLiNE
http://forum.xda-developers.com/showthread.php?t=441577
[APP] ai Cab Explorer utility: new way to explore cab files on your disk (view manila pictures, build multiple cabs album)
http://www.xda-developers.com/forum/showthread.php?t=561968
ProvXMLCreator [1.0][Autoconfiguration for WiFi, Certificates and email]
http://forum.xda-developers.com/showthread.php?t=630094
reg/rgu-2-xml
http://forum.xda-developers.com/showthread.php?t=386677
Registry format conversor: xml to reg
http://forum.xda-developers.com/showthread.php?t=299308
Use SK-Tools (not free, though partly functional) it exports registry and can create a cab! It has also a reg editor. Plus.....
S-K-Tools main site!
http://www.s-k-tools.com/index.html?m_products.html
S-K-Tools freeware site! ;
http://www.s-k-tools.com/index.html?m_util.html Check these two free awesome applications;
CabInstl :
-=[ Screenshot animated ]=-
This program is an installer for CAB files and allows to install PocketPC programs into YOUR specified folder instead of that by default created by the standard installer!
SSNAP : REGiSTRY/~ SNAPSHOT 'N + 2nd SNAPSHOT and COMPARE on PocketPC!
-=[ Screenshot ]=-
The program takes a snap-shot of the state of PocketPC that is useful for monitoring of changes on PocketPC, e.g. those made during installation of programs. To compare snaps of two different PocketPC states it is possible to use the utility iDiffCE on your PocketPC (see below) or any other utilities for comparison of text files on desktop PC – e.g. ExamDiff.. or Total Commander (PC version) (TC it's; Compare files by content function).
What is saved in a snap:
- contents of the registry (keys and valuess);
- listing of the file system (folders and ffiles; for files their dates and sizes are saved, the control sum is counted up);
- state of system databases (the list, the size, number of records, date of the last update).
Usefull tools for packaging and development issues
http://support.microsoft.com/kb/198038/
[Personal Computer]
[APP] Pocket PC Themes Toolkit v1.03
After installing this application.. magically cabwiz.ddf , CabWiz.exe and makecab.exe appeared within its directory just when I needed them!!! *cough*
[UTILITY] CabTools - ROM package <--> CAB converters and more. For ROM builders!
http://forum.xda-developers.com/showthread.php?t=467842
Free Microsoft XML Notepad 2007;
http://www.microsoft.com/DownLoads/...49-787d-4118-ba5f-4f30fe913628&displaylang=en
(FYI: manually press download)
Download cabsdk.exe ( http://theether.net/download/Microsoft/Utilities/ ) for documents that describe the internal structures of CabinetFiles, samples to use from C and a description of cabinet.dll.
(FYI: cabsdk.exe is a compressed executable zip file).
Universal Extractor (guess what; it supports cab(!) and so.. so much more (like *.msi). Running from CLI is no problem eighter, which is great for batch processing).
http://legroom.net/software/uniextract
-=[ Screenshot1 ]=- -=[Screenshot2 ]=- -=[ Screenshot ]=-
WinCE cab Manager not free
-=[ Screenshot ]=-
CEcabManager TiP; Get your desired *.cab!
1) keep PDA disconnected (no active sync session)
2) install exe as usual and, when standard installation dialog will appear, go on (later cab installation will begin when you'll connect phone to pc)
3) open (on PC) regedit.exe
4) go to this key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services\AppMgr\Apps
5) there you'll find a list of installable cabs via active sync
6) under each application, the value ListCabFiles is the name of cab file and the value InstallDir is its position of file system.
Remember to uninstall exe after you copy/move the cab file (or delete application key) otherwise installation of cab files will start on next activesync session!!
Simple, isn't it?
MSCEInf FREEWARE
Version 2.6 (developed in Delphi 2007 for W32)
-=[ Screenshot ]=-
http://www.codeppc.com/telechargements/msceinf/msceinf.htm
above webpage Translated into English
MSCEInf (aka MSCEInf.exe) is a fantastic piece of kit that allows the user to inspect the contents of .cab (and .tsk) files.
In addition, the program enables you to extract files from a .cab, and use embedded XML or INF files to construct the relevant .rgu or initflashfiles entries.
{
"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"
}
Version française​ French Version
English version​ English version
Deutsche Version​ Deutsche Version
Versione Italiana​ Versione Italiana
Versione Spagnola​ Versione Spagnola
Version Néerlandaise (hollandaise)​ Version Netherlands (Holland)
CABpack ; http://www.larshederer.homepage.t-online.de/cabpack.htm
Pocket PC Installation Creator 2.6 - Not Free Handy tool for creating exectutable PPC apps
http://pocket-pc-installation-creator.en.softonic.com/pocketpc
A few links I stumbled upon recently;
MS-Cabinet File WrapperClasses
http://www.codeproject.com/KB/files/cabfileclass.aspx
Cabinet File (*.CAB) Compression and Extraction
http://www.codeproject.com/KB/files/CABCompressExtract.aspx
How to implement creation and extraction of Microsoft CAB files
CDirectoryChangeWatcher - ReadDirectoryChangesW all wrapped up
http://www.codeproject.com/KB/files/directorychangewatcher.aspx
This class wraps up ReadDirectoryChangesW.
CTextFileDocument
http://www.codeproject.com/KB/files/textfiledocument.aspx
CTextFileDocument lets you write and read text files with different encodings (ASCII, UTF-8, Unicode 16 little/big endian are supported).
CEregEditor : CEregEditor is free ware and runs on PC in combination with ActiveSync. It allows editing of the registry of the PocketPC right on your PC. Extra's; it dan import/export *.cab files! Use the compare tool to save an image of the registry (F2) then after installing a cab, use Images -> compare registry.
-=[ Screenshot attached as picture ]=-
Senax

RegToXml - Convert registry files to provisioning xml files

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="string1string2string3" 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

[tutorial] custom icons

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

Custom 'Desktop (create shortcut)' - Remove .fileextension - Shortcut

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.

Categories

Resources