[size=+2][Discontinued] SSMaPa (Alpha) 0.2.4.3 [/size]
use ssmaho instead:
http://forum.xda-developers.com/showthread.php?t=493810
Hi,
I created a little MAnillaPAtcher. For example this tool is useful if you want start another calendar when clicking in TF3D on a entry.
this version is for Manila3D and Manila2D devices!
Currently implemented EXEs which can be changed:
calendar.exe
tmail.exe
WLANSettings.exe
poutlook.exe
OperaL.exe
Camera.exe
AudioBooster.exe
Click on Time
(Click on alarm)
Phone Settings
Bluetooth Settings
Sound Settings
----
Mod EDIT By MDAIIIUser
If you are HTC HD user or if you can not see all the Dirs in the File Picker then read this post.
http://forum.xda-developers.com/showpost.php?p=2934377&postcount=14
End Mod EDIT
---
If you have further elements, that you would like to change, write it to me and I will test if I'm able to integrate them.
Using is simple:
-> Start application
[size=+2]-> Choose Configuration[/size]
-> Click 'Init' (The Application will now check which patches are available, and make a security backup if your manila. This can take some secoonds)
-> Choose the file you want to change, tick 'Patch' and enter your prefered file. Click on Save.
Note: The '$' in arguments is for using the original commandline from manila. You can enter some other arguments before of this, but not after!
-> Change to the next Tab and click on 'Deploy' (this can take some minutes)
[size=+2]Note for Rom Cookers:[/size]
You can add your own conifurations. Simply add a file named ssmapabaseconf_[smt].xml (for example ssmapabaseconf_ElviraROM.xml) in same folder as ssmapa is, and add there your manila configuration in following format:
Code:
<?xml version="1.0" encoding="utf-8" ?>
<SSMapaBaseConf>
<SSMaPaBaseConfiguration>
<ConfigurationName>Touch Flo 3D</ConfigurationName>
<CustomLibrary></CustomLibrary>
<ManilaFilename>manila.exe</ManilaFilename>
<ManilaTodayStartFilename>manila.exe</ManilaTodayStartFilename>
<ManilaTodayDLLFilename>ManilaToday.dll</ManilaTodayDLLFilename>
<RegistryManilaPluginName>TouchFLO 3D</RegistryManilaPluginName>
<ExtendedInitState>0</ExtendedInitState>
</SSMaPaBaseConfiguration>
<SSMaPaBaseConfiguration>
<ConfigurationName>Manila2D</ConfigurationName>
<CustomLibrary></CustomLibrary>
<ManilaFilename>manila2d.exe</ManilaFilename>
<ManilaTodayStartFilename>manila2d.exe</ManilaTodayStartFilename>
<ManilaTodayDLLFilename>set it</ManilaTodayDLLFilename>
<RegistryManilaPluginName>set it</RegistryManilaPluginName>
<ExtendedInitState>0</ExtendedInitState>
</SSMaPaBaseConfiguration>
</SSMapaBaseConf>
You don't have to softreset your device, simply touch on today and the new manila.exe will start.
Theoretically you should get a warning for every changed file on executing it the first time, but only once. If something will ist not working, make sure your phone is fully applicationunlocked.
The Application doesn't need to be started again, it should work till the next hard-reset.
For all with UnauthorizedAccessException:
Try again with 'Extended Init' ticked. Unfortunatelly I don't have a such phone, and couldn't test if it's really working.. would be happy if you can give a small feedback.
----
If your files are signed, you're asked if you want to unsign them.
Please note, I didn't find a way to remove the signatures in a 'correct' way. I did an exe-based-deactivating. This is ok, as long as you don't want to resign them. If you want to resign them with your own certificate chose no and do it yourself.
I don't think that this tool is able to destroy something on the phone. Never mind, I'm not responsible for any damages.
Sample:
If you want the calendar to start in your favorite view and not in Agendaview, enable patch on calendar.exe an simply remove '$' from arguments.
Please donate for me! I'm a apprentice and use a lot of my free time for working on the computer, to be able to create such tools.
[size=+2]Thank you [/size]
Received Donations:
10 Euro / skw21 / 01.08.2008 / Thank you very much!
10 Euro / J. Thomas / 12.11.2008 / Thank you !
10 Euro / Sachmet / 21.11.2008 / Very nice! Thank you !
10 Euro / HamerPlyr / 08.12.2008 / Thank you !
10 Euro / msalimov / 11.12.2008 / Thank you very much.
10 Euro / A. Caredda / 10.01.2009 / Nice! thank you
10 Euro / ninalee123 / 30.01.2009 / Thank you! I'm happy it helped
10 Euro / M. Harris / 09.02.2009 / Many Thanks
5 Euro / stuartforrest / 14.07.2008 (first donation thank you)
5 Euro / puky69 / 15.07.2008 thank you
5 Euro / Netto2 / 17.07.2008 thank you & greetings to Göttingen
5 Euro / V. Arko / 22.07.2008 / Thank you
5 Euro / S. von Keitz / 06.10.2008 / Thank you
5 Euro / M. Barrotta / 24.01.2009 / Thanks
5 Euro / G. Ryska / 02.02.2009 / Thanks
5 Euro / Trident / 25.02.2009 / thx you
4 Euro / R. Schneider / 09.02.2009 / Thank you
Changelog:
Version 0.2.4.3 (29/01/2009)
- fixed bug when starting from root directory
- fixed bug 'Time click' not shown on Manila2d
- fixed bug 'Could not patch todaydll. That's fatal in alternative mode.' on Manila2d
- extended init should now work for manila2d.
Version 0.2.4.2 (21/01/2009)
- little fix on tabs
- guys, use 'load old settings', should be working now .. otherwise you probably don't have all elements on already patched manilas...
- There are no new replacings! Caller list is too deep connected, links isn't my thing...
Version 0.2.4.1 (20/01/2009)
- Integrated Icon from 12aon
- deploy stability increased
- better search (--> the application became slower...)
- bugfixes
- command line arguments:
-o <Path to your own PatchDef xml file>
-m <manila filename>
-s <manila filename like it is in homelplugin>
-p <manila home plugin dll filename>
-q <manila home plugin name (registry)>
- fully customizable
- much more
[@ ROM Cookers]
You can now customize SSMaPa as you want.
Version 0.2.4.0 (??/??/2009)
- Version in evaluation by ParleyP // Release after OK
Version 0.2.3.0 (30/12/2008)
- Added free filename editing (used for some cooked roms). Untested, I'm watiting for feedbacks...
Version 0.2.2.2 (19/11/2008)
- Corrected a unsign-problem on extended Init.
Version 0.2.2.1 (18/11/2008)
- Added an experimental unsign while patching feature. Needed on new devices.
--> Please check and give a feedback
Version 0.2.2 (20/7/2008)
- Added saving of current settings
- Use FileDialogChanger / gsgetfile.dll for a better filedialog http://www.geocities.co.jp/SiliconValley-Cupertino/2039/
--> I'm sorry, I don't have much time at the moment... There are many other things to do...
Version 0.2.1 (17/7/2008)
- When using 'Extended Init' the HTC TaskManager showed the Manila.exe file, which could be killed. Deploy with version 0.2.1 and softreset the device (or simpler, restart the service 'TaskManager'), then the file will be hidden again.
Version 0.2 (17/7/2008)
- Several bug-fixes
- Complete new includation which shouldn't cause a UnauthorizedAccessException anymore(use 'Extended Init')
- Some UI Changes
- Better deletion of no more used files
- Complete manila restoration function added
Version 0.1.1 (14/7/2008)
- Several bug-fixes
- Adding of alternative init
- Adding of new replacements (Click on Time, [Click on alarm], Phone Settings, Bluetooth Settings, Soundsettings)
- Some UI Changes
Version 0.1 (13/7/2008)
- First release
P.S. Excuse me for my english...
Hi,
thanks for the app.
Can you please add the following apps:
pTravelAlarm - ptravelalarm.exe
Phone Alarm - pasettings.exe and
or better allow the user to add its own files.
Thanks anyway.
Amir.
nice one.
good job
Bad reader... sorry
great app m8!
thx a lot for your work!
is it possible to link the manila clock to spb time?
thx again
I will be testing tonight
Before hand thanks very much!
On the other hand whats a cool calender app, do they integrate with your already created appointments.
Thanks a miLL
amir77a said:
Hi,
thanks for the app.
Can you please add the following apps:
pTravelAlarm - ptravelalarm.exe
Phone Alarm - pasettings.exe and
or better allow the user to add its own files.
Thanks anyway.
Amir.
Click to expand...
Click to collapse
the supported apps are those which are default integrated in manila.exe. you have to provide me that functions you want to replace...
I will try if i can add cpl elements...
you can use every program you want, only the ports are predefined...
Sergio PC said:
I will be testing tonight
On the other hand whats a cool calender app, do they integrate with your already created appointments.
Click to expand...
Click to collapse
yes I know that... I don't now if I can patch this.. this is a little bit harder than the exes if I have too much time, I will have a look at this matter
Sorry I dont fully understand what to type where.
I want Agenda One to work instead of MS Calendar.
Agenda One is in program files\ agenda one and the exe is called agenda one.exe I think.
What should i type where. When I just tried calendar one.exe in the first field it error'd when I tried to start the calendar from the TF3d
Thanks in advance. This will answer my main gripe about the diamond
stuartforrest said:
Sorry I dont fully understand what to type where.
I want Agenda One to work instead of MS Calendar.
Agenda One is in program files\ agenda one and the exe is called agenda one.exe I think.
What should i type where. When I just tried calendar one.exe in the first field it error'd when I tried to start the calendar from the TF3d
Thanks in advance. This will answer my main gripe about the diamond
Click to expand...
Click to collapse
if the destination exe is not in a shellpath folder you have to type the whole path.
this looks smt like this: /program files/agenda one/agenda one.exe
notice the forward slashs ('/') and the beginning slash.
choos calendar, enable patch, type the path in new program and maybe you have to add to the working dir /program files/agenda one/...
if you have further errors, give me the exact error message, then I will have a look on it..
greetings sven
Hi there,
The big one for me would be to have the Audio player section start CorePlayer rather then the built in HTC Player.
And if you could somehow make the FF/RW/Play buttons on the HTC handsfree (RC E100) control, control CorePlayer rather than the built in app then you would be my unconditional hero.
I apologize for my bad English.
I would like to replace the calendar of manila with today agenda to be able to visualize more appointments in a day.
Thanks.
http://todayagenda.softonic.de/pocket
This looks nice, as I want to change some default programs...
When I started the program and I press "INIT" I get the next error:
HTML:
SSMaPa.exe
UnauthorizedAccessException
bij System.IO.__Error.WinIOError(Int32 errorCode, String str)
bij System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite)
bij SSMaPa.ManilaPatch.Init()
bij SSMaPa.mainFrm.btnInit_Click(Object sender, EventArgs e)
bij System.Windows.Forms.Control.OnClick(EventArgs e)
bij System.Windows.Forms.Button.OnClick(EventArgs e)
bij System.Windows.Forms.ButtonBase.WnProc(WM wm, Int32 wParam, Int32 lParam)
bij System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
bij Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)
bij System.Windows.Forms.Application.Run(Form fm)
bij SSMaPa.Program.Main()
Caspertje19 said:
When I started the program and I press "INIT" I get the next error:
HTML:
SSMaPa.exe
UnauthorizedAccessException
bij System.IO.__Error.WinIOError(Int32 errorCode, String str)
bij System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite)
bij SSMaPa.ManilaPatch.Init()
bij SSMaPa.mainFrm.btnInit_Click(Object sender, EventArgs e)
bij System.Windows.Forms.Control.OnClick(EventArgs e)
bij System.Windows.Forms.Button.OnClick(EventArgs e)
bij System.Windows.Forms.ButtonBase.WnProc(WM wm, Int32 wParam, Int32 lParam)
bij System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
bij Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)
bij System.Windows.Forms.Application.Run(Form fm)
bij SSMaPa.Program.Main()
Click to expand...
Click to collapse
ugly. don't know exactly where the problem is... Try version 0.1.1 with alternative init activated. If it's not working you'll have a problem with device security or a better protected manila.exe..
Can you please try and post the result?
salada2k said:
The big one for me would be to have the Audio player section start CorePlayer rather then the built in HTC Player.
And if you could somehow make the FF/RW/Play buttons on the HTC handsfree (RC E100) control, control CorePlayer rather than the built in app then you would be my unconditional hero.
Click to expand...
Click to collapse
I don't use coreplayer personally. but if I find some time, I will do a try... I could already start the wmplayer, but it wasn't playing anything. The Problem is that audiomanager_eng.exe is very hardcoded in manila.. Also the interfaces are not exactly definded.
I unfortunatelly dont have a rc e100, so its a little bit difficile..
Mike73 said:
I apologize for my bad English.
I would like to replace the calendar of manila with today agenda to be able to visualize more appointments in a day.
Thanks.
http://todayagenda.softonic.de/pocket
Click to expand...
Click to collapse
I think this is not possible as long as tf3d runs... Maybe I will check if I find smt to display more elements.
leopardone said:
is it possible to link the manila clock to spb time?
Click to expand...
Click to collapse
Implemented
greetings sven
svenso said:
I think this is not possible as long as tf3d runs... Maybe I will check if I find smt to display more elements.
Click to expand...
Click to collapse
Thanks, I attend!
Thx a lot for Spb Time!
Thanks for this. I got Agenda One to be my default calendar with a bit of messing about.
I just needed to put the full path to my app
/internal storage/program files/agenda one/agenda one.exe
and the full path in the working directory
/internal storage/program files/agenda one/
and it all worked fine. No more rubbish MS calendar! I will post you a donation.
Caspertje19 said:
HTML:
SSMaPa.exe
UnauthorizedAccessException
bij System.IO.__Error.WinIOError(Int32 errorCode, String str)
bij System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite)
bij SSMaPa.ManilaPatch.Init()
bij SSMaPa.mainFrm.btnInit_Click(Object sender, EventArgs e)
bij System.Windows.Forms.Control.OnClick(EventArgs e)
bij System.Windows.Forms.Button.OnClick(EventArgs e)
bij System.Windows.Forms.ButtonBase.WnProc(WM wm, Int32 wParam, Int32 lParam)
bij System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
bij Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)
bij System.Windows.Forms.Application.Run(Form fm)
bij SSMaPa.Program.Main()
Click to expand...
Click to collapse
Same problem here but when I apply the mod
leopardone said:
Same problem here but when I apply the mod
Click to expand...
Click to collapse
EDIT: excuse me, I had read wrong..
can you copy /windows/manila.exe to /manila.exe, kill manila.exe with a taskmanager and copy back /manila.exe to /windows/manila.exe with totalcomander?
what failure do you get?
thx you, Sven
EDIT2:
Download this app: http://www.microsoft.com/downloads/...8c-d587-47e0-908b-09fee6ea517a&DisplayLang=en
Start 'Security Configuration Manager' and provide me the right side, maybe we discover some differences in security configuration... BUT BE CAREFUL: Don't provision anything! If you provision the locked security scheme you'll have a real problem...
needs a better system to browse and select files !
Related
Hi Guys,
I'm going through the forum, I'm new to embedded developement, I've been able to do my first MessageBox("Hello World") in C using VS2005.
I want to understand how all this works, like :
- Accessing any "mass storage" device ? (the root FS ?, /, c:\, whatevername )
- Dumping the whole registry + values.
- Logging Process and activity even while "device locked" (new process, etc..)
And having more knownledge about the internals and devices, booting etc..
I'm kind of lost and my embedded knowledge is very thin..
The PPC i have is running WM5 on QTEK9100 (SPVM3000)..
Any pointers, posts, sources, small explication are more than welcome...
Hope you can help,
Regards,
r.
Welcome!
Wow those sure are some heavy requests for someone who is just starting.
How much experience do you have with C and Win32 APIs?
To start you off here is an excellent site for Windows Mobile programming tips and tricks:
www.pocketpcdn.com
Couple more pointers:
Device root is "\", no drives (SD cards mounted as folders) kind of like Linux.
All path are absolute - no ".\" or ".."
You can use standard C or Win32 functions for file operations.
Registry functions are also same as Desktop windows except you have to use the "Ex" version of of the function.
Example:
RegOpenKey - not implemented, use RegOpenKeyEx.
For process lists etc, google for ToolHelp32.
Thanks,
I'm at ease w/ ANSI C, have some familiarity w/ Win32 APIs,
but as far as I'm seeing I'm trying to code on Win32 Intel First,
then i try to "port" it to PocketPC Mobile, sometime it works
sometime functions doesn't even exists... MSDN doesn't seems very consistent over Win32 vs WM, but as I'm new I guess i'm missing a lot..
WinMain() prototype changes according to your target...otherwise
VS2005 yell about Overloading WinMain, It is VERY annnoying..anyway
Thanks for the links and the *Ex trick, I'll try to get deeper with this.
I have a strange problem trying to do my Own MessageBoxPrintf:
int MessageBoxPrintf(int, const char * title, const char * fmt, ...)
{
va_list ap;
char * buffer = NULL;
/* formatting and fixed size yes...*/
buffer = (char *) malloc (1024 * sizeof(char));
if (!buffer)
return -1;
memset(buffer, 0, 1024);
va_start(ap, fmt);
vsprintf(buffer, fmt, ap);
va_end(ap);
MessageBox(NULL, (LPCWSTR)buffer, (LPCWSTR)title, type);
return 0;
}
It does compile, but it display craps, since there is no stderr,stdout,stdin and
that I'm mostly coding on Win32/VMware, I don't know how to debug on my PPC (no USB connection), and I have no idea what's wrong.. it might be obvious, but it's late..
As I don't know what LPCWSTR stand for, I assumed char * and it did work on Win32 (XP) without hassle (except LPCWSTR types which are wrong for Win32 Target), so why it doesn't on WM5... is a mystery for me now..
Hope to be on speed ASAP to be able to release some stuff..
Thanks for your help,
Cheers,
r.
all WinAPI function on Pocket PC works with Unicode strings. So you have to convert from ANSI to Unicode.
ok, does the TEXT() macros convert to Unicode string, it seems not.
How to convert from ANSI to Unicode ?
you can work directly with wchar_t or use tchar that can be ansi or unicode, otherwise look for MultiByteToWideChar or CString object _T and TEXT Macro aren't for converting ansi but they makes unicode prefix strings... for example MessageBox(hWnd,_T("Hello World"),_T("my messagebox"),MB_OK);
I hope this help and don't forget MSDN have all replies
have fun,
Guybrush
ok it works! thanks!
just another question, how to dump the "disk" or how those devices are booting ROM?/Flash?
Currently I'm copying all the files from / to the SD card mount point is there anything else?
again thanks for your help.
++
r.
I'm currently doing some programs myself with the free MS embedded VC++.. and I'm finding it comfortable to do a simple dialog-based programs for PPC. I think I can have most of the background code going, and I've just got the GUI .. alright.
Now the question, how do I do a copy/paste to/from clipboard? I had most of the stuff done using the included MFC Wizard. I can get and send data to/from an EditBox (TextBox, whatever you call it). However, the click-hold thing on PPC doesn't seems to work on my EditBox, and hence I'm thinking what's needed to enable a simple Copy/Paste on an EditBox.
Currently, I'm using the simple
Code:
m_editBox = _T("the message I want to show");
UpdateData(FALSE); //send it to the EditBox
Any guide from here would be appreciated. However, I'm thinking there may not be an easy way to do that, hence I've also tried adding a 'Copy' and 'Paste' button to do the job, but I've tried things like
Code:
SetClipboardData(x, x)
GetClipboardData(x)
None works.
I have also tried
Code:
COleDataObject DataObject;
and with the handle etc etc .. but I can't seems to find this COleDataObject , is that in some other environment (e.g. not PPC env)?
Help
Fast solution:
http://www.pocketpcdn.com/articles/sip.html
(this shows/hides sip on get/lost focus in edit controls and add the context menu too)
and this is a simple example how to copy datas into clipboard
if(OpenClipboard(NULL))
{
EmptyClipboard();
HLOCAL clipbuffer = LocalAlloc(0, 100);
wcscpy((WCHAR*) clipbuffer, (WCHAR*) (vtNumber.bstrVal));
SetClipboardData(CF_UNICODETEXT, clipbuffer);
CloseClipboard();
free(szMsg);
LocalFree(clipbuffer);
}
I hope this help u
bye
Thanks for your respond.. things work.. a bit
Code:
//put a test char
char *test;
test = (char*) malloc(100);
strcpy(test, "blah blah blah");
//codes you've given
if(OpenClipboard()) //OpenClipboard(NULL) gives me error
{
EmptyClipboard();
HLOCAL clipbuffer = LocalAlloc(0, 100);
wcscpy((WCHAR*) clipbuffer, (WCHAR*) test);
SetClipboardData(CF_UNICODETEXT, clipbuffer);
CloseClipboard();
//free(szMsg); //not sure what 'szMsg' is
LocalFree(clipbuffer);
}
Things somewhat works. I'm not really sure which part I've got wrong. I'm suspecting some memory allocation is giving me problems. The thing is, if I were to use 'CF_UNICODETEXT' on the 'SetClipboardData(x,x)' line, I get something to paste on other programs (PPC Notes). BUT, the thing pasted is some funny stuff (e.g. letters that cannot be rendered, hence I get the little squares). If I were to use 'CF_TEXT', I don't seems to able to send my stuff to the clipboard or it made it invalid for (PPC Notes) pasting (e.g. I'm not able to paste it in PPC Notes).
Thanks.
BTW, if you are in the mood, can you give me a Paste function as well. Thanks a bunch.
Hi hanmin.
Odd I didn't notice this thread sooner.
Any way if you still having problems with this code here is the solution:
You are working with char and strcpy so your text is in ASCII (each letter one byte).
But you are calling SetClipboardData with CF_UNICODETEXT so it expects WCHAR (UNICODE) where each letter is two bytes.
The strange letters are the result of two consecutive bytes being interpreted as a single letter (probably lends you in Chinese or Japanese region of the Unicode table)
Windows mobile doesn't usually work with ASCII so the text you get from the edit box will already be in Unicode and won't give you any trouble.
The code should look like this:
Code:
//put a test char
CString test; //since you are working with MFC save your self the trouble of memory allocation
test = L"The text I want on clipboard"; //The L makes the string Unicode
//codes you've given
if(OpenClipboard()) //OpenClipboard(NULL) gives me error
{
EmptyClipboard();
//not sure why you need to copy it again, but here goes:
HLOCAL clipbuffer = LocalAlloc(0, test.GetLength() * 2); //remember: every letter 2 bytes long!
wcscpy((WCHAR*) clipbuffer, (WCHAR*)(LPCTSTR)test); //LPCTSTR is an overloaded operator for CString
SetClipboardData(CF_UNICODETEXT, clipbuffer);
CloseClipboard();
//szMsg probably belongs to some larger application and is irrelevant
LocalFree(clipbuffer);
}
I never used the clipboard APIs my self so I can't guide you farther but this code should work.
Hope this helps.
Wooo hooo.. Thanks levenum. I'm back on business!
You code works wonderfully.. just the final code "LocalFree(clipbuffer);" seems to cause problems. Without that, it works. I'm not sure if it will cause a memory leak.. but that's not much of my concern now
Now my Paste also works, and it seems that the magic code is the "LPCTSTR", which I have NO idea what it is (I'm more of a pure C person and.. a Java person ) Thanks again.
Glad I could help.
I am working from Ubuntu right know (Linux distro in case you didn't know) so I do not have access to my off-line MSDN files, but I recommend you check out the documentation for SetClipboardData.
It is possible it releases the memory it self so when you call LocalFree the handle is no longer valid.
That could also be the reason why you need to allocate memory instead of passing it the string directly.
As for LPCTSTR it is simple and not C++ related:
#define const* WCHAR LPCTSTR
Its M$ way of saying Long Pointer to Constant STRing
T changes meaning based on what you are working with:
If you work with ASCII TCHAR is char
If you work with Unicode TCHAR is WCHAR
Basically these are just all redefinitions of variable types so you can distinguish what they are used for.
In C++ you can overload operators. For example you can have a function which changes the way ++ works with certain types of variables.
In our case CString class has a function which determines what happens when you try to cast (convert) it to a pointer to string.
Thats all the "magi" code.
Good luck with your app.
Small update:
Since I had to go in to XP anyway (to change PDAMobiz ROM which kept hanging at random and didn't let me use BT to latest PDAViet which for now seem very good) I took a quick peek at the help files.
Here is why you should not release the memory:
After SetClipboardData is called, the system owns the object identified by the hMem parameter. The application can read the data, but must not free the handle or leave it locked. If the hMem parameter identifies a memory object, the object must have been allocated using the LocalAlloc function
Click to expand...
Click to collapse
levenum, thanks. You've got me almost there. There are several stuff I need to polish up though. Attach is a pre-mature version of what I wanted to do. There are several issues (including the fact that, only the 4 characters of the password are effectively used, which can be easily fix, I think. Just need to find the bug and squash it) that I like to polish up. They are sorted in order of importance (to me):
[1] Keyboard (SIP) pop up.
For this, I digged around and got to know that the function
"SHSipPreference( HWND, SIP_UP)" is the one to used. However, it never did what it suppose to do. I have had it put inside the "OnSetfocusConfirmPasswordEdit()" of the edit box, which should be called when it is set focus. I suspect that is I haven't set the HWND correctly. I have tried "NULL" and also tried using the "CWnd* pParent" from my dialog constructor (generated code my MFC Wizard). None of them worked.
[2] Editbox focusing.
For some reason, the focus on my main-dialog is correct on the editbox of the 'message'. However, on the dialog which is to confirm the password (which I called using
Code:
CConfirmPasswordDlg confirmPasswordDlg;
int nResponse = confirmPasswordDlg.DoModal();
is focusing on the 'Ok' button. What I like it to do is to focus on the 'confirmPasswordEdit' box, and it ought to automatically pop up the keyboard (SIP).
[3]Reduced size pop up dialog
I was trying to make the 2nd confirm password dialog smaller, something like a pop up in the PPC rather than something that take up the whole screen without much contents in it. How would you go about doing that? Is it not possible in PPC? E.g, if you were to use Total Commander, and start copying files around, they do have a pop up that does take up the entire screen. I'm suspecting I shouldn't do a "confirmPasswordDlg.DoModal()", and should some what do something myself. I have tried, SetVisible(1) thing, but that doesn't work. Or it shouldn't meant to work because my 1st screen is a dialog screen?
[4]Timer?
I would like to have a function of which after a certain period of idle time, it will clear off the clipboard and close itself. How would I go about doing this? Some sort of background thread thing?
Anyone can shine a light on my issues above? On MS-embedded Visual C++ (free), with Pocket PC 2003 SDK (free)
Attached the Blender-XXTea edition
Works on PPC2005 and WM5 (should work on WM6)
Does not require .NET framework
VERY small (54K)
hanmin said:
[2] Editbox focusing.
For some reason, the focus on my main-dialog is correct on the editbox of the 'message'. However, on the dialog which is to confirm the password (which I called using
Code:
CConfirmPasswordDlg confirmPasswordDlg;
int nResponse = confirmPasswordDlg.DoModal();
is focusing on the 'Ok' button. What I like it to do is to focus on the 'confirmPasswordEdit' box, and it ought to automatically pop up the keyboard (SIP).
Click to expand...
Click to collapse
In your CConfirmPasswordDlg::OnInitDialog handler, call GetDlgItem(confirmPasswordEdit).SetFocus() and return FALSE. That should handle the focus and possibly the SIP popup.
3waygeek said:
In your CConfirmPasswordDlg::OnInitDialog handler, call GetDlgItem(confirmPasswordEdit).SetFocus() and return FALSE. That should handle the focus and possibly the SIP popup.
Click to expand...
Click to collapse
HEY! The focus works! The working code is
Code:
((CWnd*) CConfirmPasswordDlg::GetDlgItem(IDC_CONFIRM_PASSWORD_EDIT))->SetFocus();
BTW, I'm wondering, whats the effect of a return TRUE/FALSE on a 'OnInitDialog()'?
Anyway, the keyboard pop up is still not working. I'm using the command
Code:
void CConfirmPasswordDlg::OnSetfocusConfirmPasswordEdit() {
SHSipPreference( (HWND)g_pParent, SIP_UP);//
}
which I suspect the 'g_pParent' is NULL. If it is NULL, would it work?
Ok, I haven't used MFC for a while and almost not at all on PPC but I will give this a shot:
1) MFC forces dialogs to be full-screen. Here is a detailed explanation on how to change that. Note that for some reason this will work only once if you use the same variable (object) to create the dialog several times.
If you use a local variable in say a button handler thats not a problem because the object is destroyed when you exit the function.
2) There is a simple SetTimer API. You can give it a window handle and then add an OnTimer message handler to that window. Or you could give it a separate function which will be called (say TimerProc). In that case you can give it NULL as window handle.
Note that CWnd objects have a member function with the same name (SetTimer) which sets the timer with that window handle (so that window will receive WM_TIMER message). If you want the raw API call ::SetTimer.
Also note that the timer will continue to send messages / call your special function every x milliseconds until you call KillTimer.
3) I am not sure what the problem with the SIP is. CWnd and derived classes like CDialog have a function called GetSafeHwnd (or GetSafeHandle, I don't remember exact name). Try passing that to SHSipPreference.
If that does not work here is an article with an alternate solution.
WOHO!! Everything works NOW!!.. MUAHAHHAHA.. wait til you see my release version
Non maximized windows works using the code suggested at the page. Although I still do not understand where the heck this '.m_bFullScreen' property came from. It is not anywhere obvious to be seen.
Code:
CNfsDlg dlg;
dlg.m_bFullScreen = FALSE;
dlg.DoModal();
Timer works using the
Code:
xx{
//your code...
CBlenderDlg::SetTimer(1, 5000, 0); //event 1, 5 seconds, something
//your code...
}
void CBlenderDlg::OnTimer(UINT nIDEvent){
//do something here for the timer
}
although somehow, the OnTimer() only works if I went to the MFC class wizard to add the WM_TIMER function. Doesn't work when I add in the OnTimer() myself. Must be something else that I've missed. Anyway.
Keyboard issue solved using
Code:
SHSipPreference( CBlenderDlg::GetSafeHwnd(), SIP_UP);
Glad its working out for you.
Couple of comments:
1) Somewhere at the top of the cpp file, if I am not mistaking there is something called a message map. It's a bunch of macros that lets MFC know what window messages it handles. An entry there is what was missing when you added the function manually.
2) m_bFullScreen is just another among many undocumented features. M$ likes to keep developers in the dark. For instance WM 2003 and up have an API called SHLoadImage which can load bmp, gif, jpg and some other formats and return HBITMAP which all the usual GDI functions use.
This API was undocumented until WM 5 came out and even then they said it only works for gif...
hanmin said:
BTW, I'm wondering, whats the effect of a return TRUE/FALSE on a 'OnInitDialog()'?
Click to expand...
Click to collapse
The return value indicates whether or not the standard dialog handler (which calls your OnInitDialog) should handle setting the focus. As a rule, OnInitDialog should return TRUE, unless you change the focus within the handler (or you're doing an OCX property page on big Windows).
I haven't done much WinMob/CE development -- I've been doing big Windows for 15+ years, so window message handling is pretty much second nature. I started doing Windows development back in the days when you didn't have C++ or MFC boilerplate; you had to implement your own DialogProc, crack the messages yourself, etc. It's a lot easier now.
CommandBar / MenuBar
I'm back.. with more questions
Not much of a major issue, but rather an annoying thing I've found. Probably that's what evc/mfc/m$ intended to do that.
Anyway, I'm starting my way of getting around CommandBar. I created a MFC skeleton, studied the code, and that's what I've found, after I've created a CommandBar/MenuBar on evc and putting it in
Code:
if(!m_mainMenuBar.Create(this) ||
!m_mainMenuBar.InsertMenuBar(IDR_MAINMENUBAR) ||
!m_mainMenuBar.AddAdornments() ||
!m_mainMenuBar.LoadToolBar(IDR_MAINMENUBAR))
{
TRACE0("Failed to create IDR_MAINMENUBAR\n");
return -1; // fail to create
}
where I have the variable 'CCeCommandBar m_mainMenuBar' and I have created a MenuBar on evc with the Id 'IDR_MAINMENUBAR'. The menu bar works flawlessly on my dialog based application, when I have the 1st level as a pop up. Example
MenuBar --> 'File' --> 'New', 'Save'
Where 'File' is a folder-like thing that pop-ups and show the contents (i.e. in this example, 'New', and 'Save'). However, given the SAME code to load the CommandBar/MenuBar, it will not work, if I were to put the actual command at 1st level. Example, this will not work
MenuBar -> 'New', 'Save'
where there isn't any folder-like pop-up to store the commands 'New', and 'Save'.
I know that I can have buttons for these commands, and probably works. But, what I'm trying to do is to utilize the bottom-left-right softkey in WM5/6. If I were to have the 'File'->'New','Save' structure, it works fine with WM5, showing it as a softkey. But, if I were to do just 'New','Save' it will not show up in both WM2003 emulator and WM5.
As a matter of fact, even if I have (say) File->New,Load, and I added a new command (i.e. not folder-like-pop-up), example 'Help' on the CommandBar/MenuBar, the File->New,Load will not show up too. It seems like the 1st level command (ie. without a folder-pop-up), causes some problems and stop it from loading further.
Guys, ring any bell?
two bytes more
levenum said:
Hi hanmin.
Odd I didn't notice this thread sooner.
Any way if you still having problems with this code here is the solution:
You are working with char and strcpy so your text is in ASCII (each letter one byte).
But you are calling SetClipboardData with CF_UNICODETEXT so it expects WCHAR (UNICODE) where each letter is two bytes.
The strange letters are the result of two consecutive bytes being interpreted as a single letter (probably lends you in Chinese or Japanese region of the Unicode table)
Windows mobile doesn't usually work with ASCII so the text you get from the edit box will already be in Unicode and won't give you any trouble.
The code should look like this:
Code:
//put a test char
CString test; //since you are working with MFC save your self the trouble of memory allocation
test = L"The text I want on clipboard"; //The L makes the string Unicode
//codes you've given
if(OpenClipboard()) //OpenClipboard(NULL) gives me error
{
EmptyClipboard();
//not sure why you need to copy it again, but here goes:
HLOCAL clipbuffer = LocalAlloc(0, test.GetLength() * 2); //remember: every letter 2 bytes long!
wcscpy((WCHAR*) clipbuffer, (WCHAR*)(LPCTSTR)test); //LPCTSTR is an overloaded operator for CString
SetClipboardData(CF_UNICODETEXT, clipbuffer);
CloseClipboard();
//szMsg probably belongs to some larger application and is irrelevant
LocalFree(clipbuffer);
}
I never used the clipboard APIs my self so I can't guide you farther but this code should work.
Hope this helps.
Click to expand...
Click to collapse
I know it is a bit late! But there is a mistake the code snippet:
HLOCAL clipbuffer = LocalAlloc(0, test.GetLength() * 2); //remember: every letter 2 bytes long!
needs to be
HLOCAL clipbuffer = LocalAlloc(0, test.GetLength() * 2+2);
the terminating 0 is als 2 bytes long!
Those errors are sometimes fatal, with very less chance to find them!
ms64o
Hi,
in my application I am using CeRunAppAtTime to get my application notified at certain intervals, even if the device is off (PocketPC devices).
However on some HTC devices with WM 6 Professional I start to notice that this is not working. The code works fine on WM5.0 devices. On said HTC devices however, basically the application does not get launched when the time set in CeRunAppAtTime has been reached.
On my TyTN II device, even the Pocket Outlook application is not able to properly check for email. I've set it to check every 5 minutes, but it only downloads the new email when I turn the device on manually. Clearly not the expected behaviour.
For that reason I suspect that this is not a bug in my code, but rather some issue with the device or the WM 6 version.
Does anybody have any ideas what could be wrong? Or is there some other way that I could have my application called in regular intervals to update some data over the network? I've tried CeSetUserNotificationEx but this behaved the same as CeRunAppAtTime.
Here's a sample of the call to CeRunAppAtTime:
Code:
SYSTEMTIME now, runAt;
GetLocalTime(&now);
__int64 timeAs64Bit;
SystemTimeToFileTime(&now, (FILETIME*)&timeAs64Bit);
timeAs64Bit += 60 * (__int64)10000000i64; // + 60 seconds
FileTimeToSystemTime((FILETIME*)&timeAs64Bit, &runAt);
CeRunAppAtTime(szModuleFileName, &runAt);
Thanks for your help.
Dan
Did you find a solution for that?
I have the same problem
Did you find a solution?. I have the same problem with HTC TOUC CRUISE. Someone???
HTC looks like is molding Windows too much
I have the same problem with HTC Touch Pro. Im not sure it is the Hardware, the OS or the guy who cooked the ROM since I have not the original ROM in it.
Do you have the original ROM in?
This works a treat on a stock Vodafone v1615 (UK Vodafone branded Kaiser WM 6.1 Pro (Running on Win CE 5.2))
Code:
// Console.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
#include <Notify.h>
int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
SYSTEMTIME now, runAt;
GetLocalTime(&now);
__int64 timeAs64Bit;
SystemTimeToFileTime(&now, (FILETIME*)&timeAs64Bit);
timeAs64Bit += 600 * (__int64)10000000; // + 10 minutes.
FileTimeToSystemTime((FILETIME*)&timeAs64Bit, &runAt);
CeRunAppAtTime(TEXT("\\Windows\\Calc.lnk"), &runAt);
return 0;
}
It was compiled under EVC++ 4.0 as a simple CE application (Console App). The only change from the PPC 2003 emulator to the WM6.1 device was to change CALC.EXE to CALC.LNK. The real exe lives somewhere else on the device, and only the .LNK knows where it is. You can't copy it off the device to look at it, as it lives in ROM.
Build your own sliding app today!
Check out the latest version, AND read the new API Docs. Its a piece of cake making your own slide app. All you need to know is basic MortScript!
---------------------------------
Go to http://www.gslide.mobi
* New cool screenshots and examples on the site!
I am moving the discussions to my GSlide Google group. For queries turn to
I feel i need to to start fresh somewhere I will keep this updated anyway of course.
http://groups.google.se/group/gslide
Last updated with:
0.7
- Many usability improvements. About time you might say, after all the backend stuff
- "Easy access" buttons on the top bar. Implemented using the Faces API of course
- Much improved RSS handeling
- Super easy adding of RSS channels
- Super easy adding/editing of GSlide Settings
- A lot of tweaks here and there
0.6.9
- Super cool update, as always
- Real RSS reader
- Configurable alpha effects for many objects
- Lots of other good under-the-hoddie stuff
0.6.7
- New really cool message overlay feature which is totally configurable. Right sweep the top bar for an example. Why not use it for a preview of images?
- A really cool new Face feature which makes it possible to capture clicks where ever they occur on the screen!
- Much improved code!
- Improved the text viewer so that it expands with text size.
- Ships with a fully functional XML parser in MortScript!
I really need to update the API! I have made many main script functions much easier to access. With all the new features you can really make any kind of app. Not just sliding lists! Because of the Faces feature you can load any image and just create a simple script which tells at which click-coordinates scripts shall run. Check out the onMessageClick.mscr file.
0.6.5
- GSlideAPI.Remote ready! To get things started i made a Wazzup feature where you can download news from the GSlide site.
- Made a nice text viewer sample for the Wazzup context.
- Made a LOT of bug fixes.
- Added a lot of new features for the API. Almost all Context properties are now possible to change at runtime through the super simple script API.
- With all new features your can really create just about any app using GSlide!
The Wazzup feature might need a change of settings. Try to open the context, if it says it cannot connect:
- go to the Settings context
- then to Remote
- then double click on Internet Connection and fill in the name of your internet connection. The default value is "Internet" which usually works.
0.6.3
- Click X/Y positions. You now get the users current X/Y position from the GSlideAPI. This means that you can calculate where the user clicked. If you dont get the point now dont worry, i will soon write about this in the API Ref. But its MAJOR feature!
- You can now have a real fullscreen with no bottom menu if you set <hideBottomPanel> to true in the Context.xml file
0.6
- Optional static top bar with dynamic message text and dynamic background (settopbartext, settopbarimage)
Events supported for the top bar are onClick, onDoubleClick, onSweepRight, onSweepLeft.
- More event handlers are now available through the api such as onApplicationStart and onApplicationExit.
- More very cool things coming soon.
0.5.6
- All new Oxygen skin with much more complete icon set (drawback is total size in kb)
- Communication with GSlide is now xmlrpc standard.
- More possibilities to make adhoc changes to events handlers (onApplicationStart, onApplicationExit, onTapAndHold, onBackTapAndHold, onClick, onDoubleClick, etc).
- Tap and hold support
- Renaming the menues is now possible.
- Right sweep now takes you to the actions (cut and paste etc) as default (really easy to change in the context.xml file. Look for the onSweepRight tag.).
0.5.2
- New "GSlide Settings" Context which makes it easy to set system paths according to your whishes. Switch to the new Settings context and click on the "Contexts" folder. When you click on the different settings here you can input new paths. Dont mess around with paths that look like this: GSlideAPI[paths]... unless you know what your doing.
- Working zip features again.
- A bit reworked skins.
- Uses the latest MortScript beta.
0.5
- GSlide can now read JSON! This means that you can load data from basically any data source, straight from the net.
This could be anything from RSS to stock information or mail accounts.
Contact me through my xda-developers GSlide page for more info until I finish the docs.
- You can now set shortcuts in GSlide to access files or folders in a snap. Super cool feature! Make new shortcuts by selecting any file or folder. Go to the Actions View by choosing "Show Actions". Here simply click on "Create Shortcut". You are now asked if you want to save it in the default location which is the GSlide specific folder used with the Right Sweep. Otherwise you can make a regular shortcut anywhere you wish by selecting a folder.
<-- Sweep = Back
Sweep = Shortcuts -->
0.4.9
Custom file/app icon support
You have to make your own icons though. I put a bunch of ok samples in the Default contexts new Icons folder. to make your own, simply name them with the associated extension (txt.gif or whatever). exe files and lnk files can also have associated icons such as PocketArtist.gif or Opera.gif (it does not need to be gif, any common bitmap format should work...)
0.4.8
New "lock list" function which secures execution of actions.
0.4.7
- New Actions with the same sliding interface as the rest of the app.
- New filter action. Now you can actually open the windows folder, IF you apply the filter first.
- Many fixes and patches.
- A lot better structure of folders and files.
- No need to specify the location of scripts in the context.xml files. (though its still possible).
* When an action is executed, GSlide will automatically redirect to the previous view. It just takes a moment *
0.4.5
- Easier install/config. Checks many more paths automatically.
- Awaited bug fixes
- Much improved Context handling (no restart needed).
- Better sweep functionality.
- Right sweep now opens folders as default.
- Much improved Scripting API.
- New Contexts for changing Volume and Backlight.
- 250 less KB
0.4
- Horizontal sweep support
- More detailed list behaiviour config, per context.
- Support for external, custom, event handlers for:
-- onSweepRight (default, "Open with ZNote")
-- onSweepLeft (default, "Back")
-- onDoubleClick (default, "Open with shell")
IMPORTANT INSTALL NOTE:
All the actions for list behaiviour is set in the context.xml file (GSlide/context/Default/context.xml is standard). The default paths to the MortScript.exe and the different scripts are /Program/GSlide/actions/....
This will probably have to be changed to your local WM5 file system path naming (/Program Files/GSlide/actions/ for UK/US).
To skip the custom actions for double clicks and sweeps and make GSlide operate as usual, just remove the lines:
<scriptEngine>/Program/GSlide/actions/MortScript.exe</scriptEngine>
<onSweepRight>/Program/GSlide/actions/onSweepRight.mscr</onSweepRight>
<onSweepLeft>/Program/GSlide/actions/onSweepLeft.mscr</onSweepLeft>
<onDoubleClick>/Program/GSlide/actions/onDoubleClick.mscr</onDoubleClick>
0.3.9
- I improved the list control with two new settings in the context.xml
<listMaxSpeed>15</listMaxSpeed>
<listMinReleaseSpeed>10</listMinReleaseSpeed>
The first tag sets the max speed when sweeping.
The second tells the list when it should start to scroll away. The higher the value the faster you have to sweep to get it scrolling.
0.3.8
- New and improved actions
0.3.7
- Since a guy had an strange incident with files getting deleted without any clear reason (i have no idea if GSlide was to blame but still...), i have added a bunch of security features:
-- Execution of GSlideAPI scripts will exit at once if GSlide.exe is not running.
-- Folders can not be deleted from the root of Windows. This means for example: \Windows\, \Programs\, \Storage Card\ etc
PLEASE DOWNLOAD THIS RELEASE, just to keep on the safe side.
0.3.6
-Included ZNotepad and a cool new light skin.
-Also added a Refresh directory action.
-Removed some bugs
Have fun sliding
Ciao,
Lars
PS.
GSlide have, at the moment, only QVGA skins... VGA is onthe way. you can of course easily make a new skin yourself if you can't wait
You might have to update the GSlideAPI.mscr file in the /actions/ folder with new system paths...
Hallo Lars. The application still crashes on /windows, photos and so on ! so ..what should i say.... nice but not usefull.
Hi,
please help me out by telling me the number of files in your Photos folder.
And when you say crash, is itan unhandled exception or a GSlide popup?
My best suggestion for large folders at the moment is to keep the row size/icon size small (approx 30x30). this consumes far less RAM.
Thanks for trying it out
I'll let you know if I come up with some other solution.
Ciao,
Lars
i get an unexpected error (think it was from wm6) and the application closes. in photos i have just five 3 mpix pictures. same when i try to open the windows folder.
i uninstalled it and can't tell you more.
thanks man... this is wonderful.
Gslide seems to be moving forward really well.
it'll certainly switch my resco explorer soon
Hmm... Let me see what i can do...
The windows folder is a "No-can-do" folder until i make a new less memory intense scrolling list.
Can you help me by downloading and trying more of the functionality and give me feedback.
On my device it works like a charm
Also tried it on a Qtek 2020i WM2003SE with CF2 and it worked fine.
Ciao
Dont forget to try out the scripting API!
Update 0.3.5.1
Fixed a new Action menu with more thumb-friendly function
Uploaded 16:00 GMT+1, only the GSlide.exe file has changed.
Ciao
the zip file seems empty ...
corrupted upload?
the programs looks promising
t0k0m0k0 said:
the zip file seems empty ...
corrupted upload?
the programs looks promising
Click to expand...
Click to collapse
empty here too...
No files in the zip folder. Would really like to try out this program.
Sorry! Uploaded from my HTC
Let me try again
Now!
The zip should work
Let me know if you have any problems.
Ciao
Please remember to update the paths in the /GSlide/actions/GSlideAPI.mscr file if you get unexpected behaiviour. The file is richly commented (to be written by me anyway ) and is easy to edit.
Ciao,
Lars
PS.
Dont forget to read the small, but growing, "GSlide Developers Guide" in the /actions/ folder
This is simply fantastic!! Thank you for developing another file browser
Requests:
1. Can you make the files seen pick up the associated icon? (obvious)
2. Please make the up directory button only require one tap, I like having to double tap to execute files but not to go up a directory.
3. I notice sometimes the list stops scrolling right to the end, may want to look into this.
4.Application needs a name, it only displays “\” as program name in running apps.
5. Have had an error once (I have NETCFv3.5 in the ROM):
Code:
GSlide.exe
ArgumentOutOfRangeException
ArgumentOutOfRangeException
An error message is available for this exception but cannot be displayed because these messages are optional and are not currently installed on this device. Please install ‘NETCFv35.Messages.EN.wm.cab’ for Windows Mobile 5.0 and above or ‘NETCFv35.Messages.EN.cab’ for other platforms. Restart the application to see the message.
at System.Collections.ArrayList.get_Item(Int32 index)
at Scroller.KList.MouseDown(MouseEventArgs e)
at Scroller.ScrollingPane.ScrollingPane_MouseDown(Object sender, MouseEventArgs e)
at System.Windows.Forms.Control.OnMouseDown(MouseEventArgs e)
at System.Windows.Forms.Control.WnProc(WM wm, Int32 wParam, Int32 lParam)
at System.Windows.Forms.ContainerControl.WnProc(WM wm, Int32 wParam, Int32 lParam)
at System.Windows.Forms.Form.WnProc(WM wm, Int32 wParam, Int32 lParam)
at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
at Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)
at System.Windows.Forms.Application.Run(Form fm)
at Scroller.Program.Main(String[] args)
Please keep up development
Hi
Thanks for trying out my little app!
Let me help you out a bit,
1. Can you make the files seen pick up the associated icon? (obvious)
- I have tried this, but i think i will place assoc. icons in the skin folders for now. I didnt get the windows icons to work properly.
2. Please make the up directory button only require one tap, I like having to double tap to execute files but not to go up a directory.
- Okidoki, I will make it optional
3. I notice sometimes the list stops scrolling right to the end, may want to look into this.
- This is actually my "Select-Zone" feature It is helps you to select items by keeping the list still. The width of this region is set in the context.xml file of each context.
4.Application needs a name, it only displays “\” as program name in running apps.
- Ahh... Fix it i will
5. Have had an error once (I have NETCFv3.5 in the ROM):
- I think i have fixed that problem now. Download the new exe
Ciao
Lars
mysparkle said:
3. I notice sometimes the list stops scrolling right to the end, may want to look into this.
- This is actually my "Select-Zone" feature It is helps you to select items by keeping the list still. The width of this region is set in the context.xml file of each context.
4.Application needs a name, it only displays “\” as program name in running apps.
- Ahh... Fix it i will
Click to expand...
Click to collapse
Looking better
3. What I meant is if the app is run from a shortcut it shows the WM top bar and covers up the up folder icon. It opens in full screen and doesn't appear to do this if you run it from a file explorer (kinda defeats the purpose), any ideas?
4. Still showing "\"
6. Are you able to make the action list scrollable with gestures so I don't have to push the tiny up or down arrows to move through the list?
Still heaps of potential!!
BEWARE!!!!!
Okay, i have NO Idea what just happened but I know i'm pretty pissed off.
I extracted the zip to try gslide out and i decided i'll stick to my previous program. when i tried to delete the folder, it deleted everything but two files. then i was trying to get dynamo 3.2.01 (previous version ran fine) and i went to check a registry key so dynamo would run and before i could go back to my total commander, mortscript came up with a message saying "Deleted!" thinking it deleted remaining files from the gslide folder, i dismissed it. but apparently something somehow deleted just about every file on my storage card! 5 gigs of music, morphgear roms, pictures, BACKUP files, EVERYTHING!!!!
I have no idea what caused this but I wanted to warn everyone that this happened to me and tto be careful. maybe be safe and if you need to delete the gsfolder, take your memory card out and do it from your PC
UPDATE: I believe it has to do something with mortscript. I am using the rom in my sig and it has mortscript cooked in and has a folder of mortscript commands and now it is empty! I'll make sure that chef knows
Nice applications
Trying it now
Hope will work
Thanks
richabi said:
Okay, i have NO Idea what just happened but I know i'm pretty pissed off.
I extracted the zip to try gslide out and i decided i'll stick to my previous program. when i tried to delete the folder, it deleted everything but two files. then i was trying to get dynamo 3.2.01 (previous version ran fine) and i went to check a registry key so dynamo would run and before i could go back to my total commander, mortscript came up with a message saying "Deleted!" thinking it deleted remaining files from the gslide folder, i dismissed it. but apparently something somehow deleted just about every file on my storage card! 5 gigs of music, morphgear roms, pictures, BACKUP files, EVERYTHING!!!!
I have no idea what caused this but I wanted to warn everyone that this happened to me and tto be careful. maybe be safe and if you need to delete the gsfolder, take your memory card out and do it from your PC
UPDATE: I believe it has to do something with mortscript. I am using the rom in my sig and it has mortscript cooked in and has a folder of mortscript commands and now it is empty! I'll make sure that chef knows
Click to expand...
Click to collapse
Scary! I am sorry to hear of your major mishap
I am just wondering what happened?!
GSlide is contained in its root folder without any connections to the outside world except through MortScript. And the MortScript.exe is located in the GSlide folder as well...
I just can not see how deleting the GSlide folder could trigger anything... And GSlide has no MortScript saying just "Deleted!" so the dialog was not from GSlide.
* How, with which app, did you delete the GSlide folder?
* Which two files where left in the GSlide folder after your first delete attempt?
NEW UPDATE:
Did you delete the GSlide folder from within the GSlide app? This could maybe screw up things, and could explain the two locked files as you are basically deleting GSlide in it's own running process... kind of asking it to implode.
This is just a theory of course and does not account for the loss of the other data.
Didn't get the rom/sig thing
Please get back to me asap with help.
Thanks,
Lars
Hi,
I'm trying to code a simple app and need to be able to launch a program from within the app. I'm initially coding in VB, and then will probably move it over to C#
It seems the shell() command does not work on the CE platform. I've trawled through thousands of forums, but can't find anything to help.
The best I've been able to find will launch a program, but only 'windows' programs - I can't get it to launch anything that has been personally installed on the device.
I figure a few of you here would know how to do it...
Would love a bit of help... It's driving me crazy....
k1sr said:
Hi,
I'm trying to code a simple app and need to be able to launch a program from within the app. I'm initially coding in VB, and then will probably move it over to C#
It seems the shell() command does not work on the CE platform. I've trawled through thousands of forums, but can't find anything to help.
The best I've been able to find will launch a program, but only 'windows' programs - I can't get it to launch anything that has been personally installed on the device.
I figure a few of you here would know how to do it...
Would love a bit of help... It's driving me crazy....
Click to expand...
Click to collapse
Look for ShellExecuteEx or CreateProcess on msdn.
Here is the code in C#
Code:
using System.IO;
using System.Reflection;
...
FileSystemInfo f = ...
try
{
Process p = new Process();
p.StartInfo.FileName = @"" + f.FullName;
p.Start();
}
catch (System.Exception) { }
place the codes in
Code:
Click to expand...
Click to collapse
tag
ather90 said:
place the codes in tag
Click to expand...
Click to collapse
Sorry :S and thankx
no worries, while going through my old projects, i found this
Code:
System.Diagnostics.Process.Start("\\windows\calender.exe", ""); // Start the calender
i use it like this :
Code:
private void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("\\Windows\calender.exe", ""); // Start the calender.
}
Thanks All,
I'll give these a go tonight...
ather90 - will this work for non windows programs - as that seemed to by my issue - ie. can I start \internal storage\programs\myprogram.exe
Thanks...!
k1sr said:
Thanks All,
I'll give these a go tonight...
ather90 - will this work for non windows programs - as that seemed to by my issue - ie. can I start \internal storage\programs\myprogram.exe
Thanks...!
Click to expand...
Click to collapse
this will work for any application that runs on your device when you click on it's icon,
just use the full path and go.
Thank you all...!!!
I was about to top myself...
System.Diagnostics.Process.Start("\\windows\calender.exe", "") was my saviour...
I can't believe how hard this was to find anywhere...