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
Hi all,
my father got MS Visual Studio 2005 some time ago and I just discovered that it's capable of creating mobile applications as well so I'm playing with it, trying to do some cool stuff (program for recording my marks at school atm ). The fact is, that I'm not extremely experienced in C# (in which I'm working in the MSVS2005) so I have to look up syntaxes or parts of code in help database every now and then. I have always succeeded so far, but now I have a problem I need someone to help me with.
I just started working with files, everything is fine, I think i quite understand the syntax and stuff, but I can't figure out how file paths under Windows Mobile work. In help file, they say that this should work:
string path = @"c:\temp\MyTest.txt";
but i think this is for desktop Windows only. If I try to use this in my programme, "Catch (Exception Ex)" command returns error saying: System.IO.DirectoryNotFoundException.
I tried various variants of the file path and the only one working was just plain name of file, for example
string path = @"MyTest.txt"
This way, I managed to write into the file and read the input back..but I couldn't find the file anywhere in my phone's memory :S
So if there was someone who would be so kind and told me how to specify file paths under WM correctly, I would really appreciate it. btw if the "someone" gave me his MSN/ICQ too, and was willing to give me real-time help once a time, it would be absolutely perfect
The root of the Windows Mobile filesystem is "\". If you want to place the file in the temp dir of the root, use this:
string path = @"\temp\MyTest.txt";
Øystein
does anyone know what the dll file is in the windows folder w/c the "abc" input method points to?this might help in the search for turning off xt9...
if i want to see or mod a dll file what can i do? using VS 2008 Pro, Standard or Express?
Hello,
Haha, it's not so easy
If you don't have the source of the dll, you cannot mod it easyli !
You can try to hack the dll, for thaht you need to disassemble the dll with W32Dasm for example....
And you need to have knowledge in assemblor !
It's not easy....
some years ago at university i've studied assembly.....only the basic functionality pop, push, jmp, loop, ecc
now i'm a java programmer and i don't know how to start developing or modding in microsoft platform..
but for example, there are many themes modded for WM, like taskbar icons ecc.. theese files are in some dll.. or for example, the new italian ROM for the xperia has some bug in the camera menu and this menu is in a dll...
I think you're looking for a Resource editor. I used to use one for windows DLLs to change icons etc.
Download ResEdit from: www.resedit.net
Or you could use reshacker from http://www.softpedia.com/get/Programming/File-Editors/Resource-Hacker.shtml
Hey guys
I declared an image in the layout.xml file and now I want it do disappear with a command from the java file.
Any ideas how I could do this?
thx and greez visosilver
You need to give the ImageView an id and then simply reference it from inside the code with something like this:
Code:
ImageView iv = (ImageView) findViewById(id); // id is the id of the image you want to remove
iv.setVisibility(8);
thx a lot dude, thats working!
greez visosilver