Related
hi,
I need to create a shortcut to a file or folder using eVC++ 4.0, anybody knows how to do this??
Thaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanx alot
Mohammad
It's very easy:
Just create a file (with lnk extension)
and write to it:
10#"my_app.exe" -launch
this is what it means:
10 - length of the string after #. This value doesn't have to be accurate because it is usually ignored.
"my_app.exe" - path and name of the target of the shortcut.
-launch - command line parameters (if you have any)
You can also add: ?incon.exe,0 to take an icon from another exe / dll
Thaaaaaaaaaaaaaaank you very very much,
but I need a small thing, could you please provide me with a complex example so I can understand all features supported for shortcuts.
Thank you again,
Mohammad
Mo.
A number of us have posted about the structure of the .lnk file.
Search against my username for the word completeness.
V
now, I searched and got how the thing works, but I have a problem with coding this stuff:
When I attemp to write to shortcut file like this:
strData.Format(_T("%d#\"%s\""),strFilename.GetLength(), element.strPathname);
ShortcutFile.Write(strData,strData.GetLength()*2);
The file is not written correctly, what I get is the data I wrote in the file with a square charecter after each letter like this:
#□4□0□"□\□S□t□o□r□a□g□e□ □C□a□r□d□\□M□y□P□r□o□g□r□a□m□.□E□x□e□"□
so how can I solve this? and does it relate to unicode?
That's because you are trying to write it in UNICODE. This adds zero to every byte.
You must use fopen, fprintf, fclose functions or just create an array of char and use FileWrite to create an ASCII text file.
Thanks levenum,
but isn't windows ce file system unicode based? if so, how can I use ASCII format to write unicode filenames?
Thanks alot
Mohammad
#include <Oleauto.h>
......
char convertUshortToChar(unsigned short in)
{
char con='\0';
VarI1FromUI2(in,&con);
return con;
}
and add Oleaut32.lib to the list of object/library moduals in you project settings.
just call that for each unicode character that you want to be ascii and write the result to file.
Two things:
a) The file system may be UNICODE, but shortcuts are ASCII text. Also ASCII functions like fopen are supported.
b) There is a much easier way to convert UNICODE to ASCII:
mbstowcs(unicodeStrBuffer, asciiStrBuffer);
OK, I did it, but I think that there is a problem with Windows mobile, and it is a big problem.
Till now, I beleive that you cannot create a shortcut to a unicode-named file, I failed to do that, File explorer was not successful, Resco Explorer was not better.
Worse, they do not tell you that you cant create the shortcut, they create the shortcut for you and when you try to open it they conclude that the path was not found!!.
Very bad huh?
Mohammad
I thought that all file names are in unicode?? Use my shortcut creator in GSMbeam file open dialog to try and make a shortcut to a file named like you said. If that shortcut dose not work send me the file in question and I will try and see whats going on.
Ok, I downloaded your program and tried to create a shortcut for an arabic-named file, simply it did not work.
I know its not a bug in ur program, its a bug in Windows Mobile, it is mainly a bug in the design itself, how does Micro$oft design windows mobile to be unicode based while non-ascii characters are not supported in the shell links, its really a shame.
You can be sure that this will happen with asian characters along with Farsi, Hebrew, Arabic and all non-ascii characters.
Programmatically, what happens is as follows:
1. A program converts a filename from unicode to ASCII to save it in the .lnk file.
2. If the file name contains non-ASCII characters, those will be converted to NULL character.
3. When the shell tries to resolve the link target it does not recognise the filename because some characters are NULL.
Thats what I found out!!
Take this file name for example (Arabic): 2مرحبا.mp3
Try to solve the issue, and please inform us whatever happens with you..
Best Regards,
Mohammad
So the problem is how to get the shell to read unicode in lnk files. I re-wrote a lnk file in unicode to see if it would work but it would not. There are a lot of non english ppc users, surely this problem has come up before?
As an experiment I also made shortcut to a folder using utf-8, I think that contains arabic characters and also the ascii characters. After removing some garbage that my editor put at the front of the lnk file worked fine. Try making a shortcut in notepad and saving it as a utf-8 file then rename it on your device but make sure there is no extra characters.
أنا قادر على أكل الزجاج و هذا لا يؤلمني. -- I think those characters are arabic and they are copied of a utf-8 table site so if the shell can read a utf-8 lnk that contains english letters then maybe it can do the arabic too.
Actually, non English UNICODE characters are translated in to extended ASCII codes (128 - 255). When the system needs to translate these codes back to UNICODE it relies on code page definitions in the wince.nls file.
If your locale is properly set to Arabic and you have a valid nls installed (ether you have Arabic ROM or some sort of Arabic language support installed) you should be able to reference Arabic file names using ASCII links.
So, can I depend on string conversion functions we discussed before in this topic to convert characters according to my code page?
I have an arabic ROM installed on my Wizard, it is the i-mate rom on O2 device, so the arabizer doesnt work well, may be because the serial number of the O2 device.
Anyway, I should invistigate this issue on my friend's JamIn device, and we should come up with a workaround for this wiered problem.
Regards all,
Mohammad
OK,
I have tried creating a shortcut on my friend's arabic-enabled JamIn device, the shortcut refers to arabic-named file and it worked good.
levenum, you are right, it depends on the code page on each device, so your device will not be able to create a shortcut to an arabic named file.
Mohammad
I whant to change something in that mui file but when i open it with resourche editor i see something like (\0x00) or (000)
after some words..
When i edit this words i can't put buck those 000
Example :
22372, "1\0x00"
22373, "2abc\0x00"
22374, "3def\0x00"
22375, "4ghi\0x00"
Also i have Microsoft Visual Studio 2005 & Pocket PC SDK.
In Microsoft Visual Studio 2005 doesn't show those 000, but if i edit with Microsoft Visual Studio 2005 when i go to sign the file give's me error.
Error: Signing Failed. Result = 80070057, (-2147024809)
Click to expand...
Click to collapse
Please any one to know something about that tell me...
Thank's for your time.
Never ever ever use VS to edit resources! It screws up dialog templates and makes MUIs unusable.
The only good way to edit an MUI is Platform Builder. You can download a free evaluation version that will run for 180 days, but even with most options striped on installation it is still around 1GB.
Hope you have a good internet connection.
what version of Platform builder i need to edit mui files from WM 2003 ?
i see difrent version like: 5, 4.2 and other
but i dont know what chose
levenum said:
Never ever ever use VS to edit resources! It screws up dialog templates and makes MUIs unusable.
The only good way to edit an MUI is Platform Builder. You can download a free evaluation version that will run for 180 days, but even with most options striped on installation it is still around 1GB.
Hope you have a good internet connection.
Click to expand...
Click to collapse
Thank's Levenum ...
I sucesfull download the Windows Embedded CE 6.0 Evaluation Edition but it is say This download is a plug-in for Visual Studio 2005 ...
So what i 'm doing??
I nead the Windows Embedded CE 5.0 ??
I also download the 5 version but at the end give one error and say something like:
the download file have been interuptut before the installation finish...
So what can i do and what for those two version i have to download and if you know how can resolve the error problem on version 5??
Sorry for
&
Many many thank's Levenum
Ok i download and install the platform builder 5.0 but when i load the mui file after do my change's and go to save it he say me:
''Cannot save the file.
Cannot load a resource from the executable.''
So what i'm doing wrong??
Thank's adn sorry again....
I explained this in a PM, but just in case others are interested:
Possible causes are:
1) MUI was signed when you edited it.
2) MUI was extracted using WM5test tool by mamiac. (This tool is excellent for dumping ROMs for viewing but files can not be used on the device)
3) PB sometimes does that for no apparent reason (at least to me)
Get another DLL one that is not signed or dumped from device, delete any resources it has and put the resources from the MUI in it. Then save and rename.
levenum said:
I explained this in a PM, but just in case others are interested:
Possible causes are:
1) MUI was signed when you edited it.
2) MUI was extracted using WM5test tool by mamiac. (This tool is excellent for dumping ROMs for viewing but files can not be used on the device)
3) PB sometimes does that for no apparent reason (at least to me)
Get another DLL one that is not signed or dumped from device, delete any resources it has and put the resources from the MUI in it. Then save and rename.
Click to expand...
Click to collapse
Thank's for your help again Levenum but doesn't work.
I try tu build one new .dll but when i put one string (for test) after i try to save but give's me the same error.
''Cannot save the file.
Cannot load a resource from the executable.''
What else can i do ???
Please help me..
I try weeks now to edit five lines
Thank's and sorry...
Sorry, but now I am stomped. I never had PB fail to save a single string to a new 'clean' DLL.
Any chance there is some kind of access problem to the actual location where the file resides? Could it be 'read only' or under restricted permission?
This is really strange...
This is a very usefull software for PPC phone. The writer issued a new edition just now.
Now, CeleDial utility, the best dialing helper for PPC Phone, support English UI without fully support (no English help, also).
To support other languages, e.g. French, you need an extrenal mapping table for your French Name. Just do that to enable External Mapping Table:
1. Create a Unicode text file named CeleDial.txt.
2. Fill the French Characters to Alpha Characters mapping line by line:
a àâä
e éèêê
......
and so on.
3. Put this text file into CeleDial's Folder (e.g. \Program Files\CeleDial\CeleDial.txt)
4. Reboot your device to enable the external mapping table.
5. Send your mapping table to me, if possible
http://www.yonsm.net/read.php?325
when I installed it nothing happened, it worked for me after I installed an skin
it looks great btw
got any english skin sites to share?
Hi guys I cannot file the download source on that website, can you help?
Screenshot anyone???
fire00 said:
Hi guys I cannot file the download source on that website, can you help?
Click to expand...
Click to collapse
I meant "I cannot FIND"
thx for your help.
Here you have version 1.6.668.2458 that I made english.
For WM2003(se)
Copy the celedial.dll and celedial.htm to \windows.
Edit the regitry:
[HKCU\ControlPanel\Phone]
DialpadDll="celedial.dll"
DialpadWndPrc=dword:00000099
I don't know the registry entries for Wm5/6.
Cheers
Oops forgot the zip file
Cheers
thanks man !!!!
my problem is that when using on HTC Touch then Celedial overwrites graphically the backspace button so I cannot delete entered numbers.
Google for "celedial touch" and find this:
http://translate.google.com/transla...search?q=celedial+touch&num=50&hl=en&safe=off
Cheers
hi... very nice app, is there a way to install any skins? i try to have a look on the site you post, but there is a server error.
thx
tweakradje said:
Here you have version 1.6.668.2458 that I made english.
For WM2003(se)
Copy the celedial.dll and celedial.htm to \windows.
Edit the regitry:
[HKCU\ControlPanel\Phone]
DialpadDll="celedial.dll"
DialpadWndPrc=dword:00000099
I don't know the registry entries for Wm5/6.
Cheers
Click to expand...
Click to collapse
This version will probably work OK on Htc Touch
CeleDial.1.6.722 (not completely translated though since I cannot test it)
Cheers
hi tweakradje thank you so much but at the zip there is only a html and a DLL-file. what to do with that?
I really like celedial so far (just testing)
Is there any posibillity to skin the white window? The app is great but looks very ugly.
Are there skins available jet? Or can I create some on my own?
Hi, i´m translating WM6.1 to Spanish, and to get full translation i have read there´s needed to get mxip_lang.vol and wince.nls spanish version.
For WM6 it can be dumped from Emulator Image, but there´s no image for WM6.1 still. Will work the WM6 files for WM6.1?, can i edit this files to translate them with any tool?
There are another files within the .mui´s and registry i have to edit to get a full translation?.
Thanks.
up... nobody knows nothing about those files or how to translate Start Button in a WM6.1 ROM?
I have translate the initflashfiles.dat and the necesary registry keys, but when my ROM boot it hang up at last boot screen and shows only the upper program bar. why?
Thanks
you was forget to add what device you try to translate
if you don't have SDK wm 6.1, the best way is take language from other device
lazaj007 said:
you was forget to add what device you try to translate
if you don't have SDK wm 6.1, the best way is take language from other device
Click to expand...
Click to collapse
I´m trying to translate WM6.1 for Trinity, the mui´s is not a problem, i got it´s from others devices ROMs, but the problems comes when i translate programs files and startup folders in initflashfiles.dat.
Thanks.
With Sktools you can export metabases mxip_lang.vol into .xml files . Also AKtools has import function. But I don't understand how it is work. I tried insert some new rows in metabase but sktools say: 0 records imported. May be anybody know how to import new record in metabase with sktools? Please, help me!
I successfully translate mxip_lang.vol !!! I used Sktools for dump this file. After that I translated all english records in to russian ( text file in unicode format). Then I have put DevPrepSP.exe utility ( with its configuration .xml file) and my .txt file in \Storage\MUI\ folder on my Qtek8310. I have started the DevPrepSP.exe and have added records in to mxip_lang.vol. It has worked!!!
My txt file has such format of records:
\MetabaseLabels
0#19#1;1049#31#Размер сист. шрифта:;
0#19#2;1049#31#Время нажатия:;
0#19#3;1049#31#Макет начального экрана:;
.................................................. ... ;
Where to find that
olad said:
I successfully translate mxip_lang.vol !!! I used Sktools for dump this file. After that I translated all english records in to russian ( text file in unicode format). Then I have put DevPrepSP.exe utility ( with its configuration .xml file) and my .txt file in \Storage\MUI\ folder on my Qtek8310. I have started the DevPrepSP.exe and have added records in to mxip_lang.vol. It has worked!!!
My txt file has such format of records:
\MetabaseLabels
0#19#1;1049#31#Размер сист. шрифта:;
0#19#2;1049#31#Время нажатия:;
0#19#3;1049#31#Макет начального экрана:;
.................................................. ... ;
Click to expand...
Click to collapse
Hi there,
Where I can find Sktools?
With my regards,
Dear Colleagues,
I'm trying to cook a ROM in Polish. I have handled almost all the translations, but I have a problem to find the place to translate Soft Keys when a system menu is used (see my screenshots). On the bottom there is still written "Close" and "Back" instead of Polish wordings.
These softkeys appear in many programs like File Explorer, pOutlook, Office applications, Notes, Windows Calendar, Windows Contacts and some others even though for each of these applications I have a proper *0415.mui files (found or edited myself), and all every other text in these applications (also menu items) is correctly translated.
It seems like there is some mui file, or reg entry which covers general menu appearance and texts but I cannot find it. I searched all my mui files for "Close" and "Back" strings (ASCII, Unicode and Hex) with Total Commander but without any outcome. Also searched in the registry of a cooked ROM for these strings. Also without results.
Does any of you guys have an idea where can I change these strings? Or do you have an idea how else can I search for them?
The sys build is: 21887, perhaps this is an important information.
Thanks in advance
Skrobel
CUIHandler.dll.<yourlang>.mui
(Menu Enhancement package from HTC)
OndraSter said:
CUIHandler.dll.<yourlang>.mui
(Menu Enhancement package from HTC)
Click to expand...
Click to collapse
Thank you very much!
But I have the file, it's translated and signed. It has only 3 string resources 102 (Back), 104 (Close) and 105 (Redy), but all three I do already have in my 0415 language (and of course all resources are marked as 1045). But the SoftKeys in menu still appear in English...
These two (three) Back&Close&Back are from this file, I know it, I translated it many times from chinese ROMs. Are you cooking the right file?
I hope so... In the original package there was no 0409.mui so I don't even know if the IDs have chaned. I took the 0415 mui from the stock ROM 21887 stock ROM.
And honestly I don't have influence on the package itself 'cause I work on dump not the full kitchen system.
EDIT: Ah, perhaps this helps: The menu enhancement package version is: 1_1_20191232_00 perhaps somebody of you has the correct 0409 or even chinese mui file for exactly this package?
EDIT2: I viewed the CUIHandler.dll with HexEditor. But I couldn't find there any of above mentioned strings even in English. Since there is no english nor chinese mui file for this library, I don't know where the system finds the strings afterall. Strange.
I've asked the original ROM Author - Jackos - for sending me the Menu_Enhancement packages. And here it is:
http://forum.xda-developers.com/attachment.php?attachmentid=404044&d=1284905153
As you can see, no mui files. But somehow the system still knows what to write in English...
Do you have any more ideas how to force these three words to appear in another languages?
Sorry I'm an ass, I said correct package (Menu Enhancement), but wrong file, I ment HTCMenuEnhance.dll.<yourmui>.mui
Sorry once again
Ahoj!
OndraSter, you are not an ass You're brilliant!
I just renamed my original CUIHandler.dll.0415.mui into HTCMenuEnhance.dll.0415.mui and it worked at last!
Actually I copied the file not renamed it as TC couldn't remove file "in ROM". But the most important thing is it works!
Now I started to wonder why!
Is it possible, that when one doesn't use Menu Enhancements these 3 strings are controlled by CUIHandler, and if one uses Menu Enhancement this function is "overtaken" by HTCMenuEnhance.dll?
Dou you have somewhere in your archives a HTCMenuEnhance.dll.xxxx.mui file from any other Menu_enhancement package (any language - even chinese or Czech)? I just wan't to check if there are no other strings that should be there. And I don't know how to create a mui out of whole dll (where to look for the resource IDs).
Zatím děkuji
Skrobel
These menus are "enhanced" by HTC, making dll CUIHandler.dll (forced name by MS) and enabled in registry. HTC has in latest versions of Menu Enhancement renamed the dll to HTCMenuEnhancement.dll, that's the all problem here, the string table is the same, just 3 recods (Close&Back&Close I think). Same as for original (old) CUIHandler iirc.
Thanks again, I am happy now. Problem solved!
OndraSter said:
These menus are "enhanced" by HTC, making dll CUIHandler.dll (forced name by MS) and enabled in registry. HTC has in latest versions of Menu Enhancement renamed the dll to HTCMenuEnhancement.dll, that's the all problem here, the string table is the same, just 3 recods (Close&Back&Close I think). Same as for original (old) CUIHandler iirc.
Click to expand...
Click to collapse
Hi Ondra
Thank you very much, I was lookinf for this for ages
Díky Ondro
Tohle jsem hledal a dnes během hledání jiné věci našel.