Help needed - unable to retrieve text in sms compose window - Windows Mobile Development and Hacking General

Hello Everybody.
I'm trying to retrieve the text from SMS Compose window on WM6. I'm using CF 2.0 C#, but any ideas are welcome, not only .NET. I've successfully located the window (handle), but it is PIEHTML class window which (at least for me) doesn't respond to WM_GETTEXT - so I get nothing. Any ideas?
Thanks,
Aleq

Related

SMS attachment

Hallo!
I have received SMS attachment for identification of the names, but unfortunately I can not open it in my Pocket PC’device. I always receive information: there is no application associated with “000Setup”… Run the application first, than open this file from within the application. So, which application should I open first? Is there anybody who could help me?
Tanks!
Mark
Hello Mark.
You're looking for the programm to show the Names at incoming SMS?
You'll find the Software at the Paragon Website (Link somewhere in the forum). It's called SMS_Name.
There is also a instruction how to install the programm on your XDA.
Just search for it.
I've I missunderstood you, i hope someone could help you....
Regards
Stefan

Exporting SMS Message Content from Windows CE PocketPC

Hi,
I'm currently doing a project and i'm using a xdaII.
Platform: PocketPC xdaII Intel(R) PXA263 400Mhz
Memory: 128 MB
ROM version: 1.60.00WWE
Protocol version: 1337.18
ExtROM version: 1.60.44
Connection: USB ActiveSync Version 3.7 (Build 3083)
Host PC: Microsoft Window XP Professional 2002 With Service Pack 1
What I have done so far:
I have create a application using VB.NET for the xdaII fone. the application is suppose to send and receive sms. I have successfully sent sms out of the phone,
Problem/Question:
1.
However, I am stuck at the interception of the received sms. I've read through the MSDN website but some of the API functions have been depreciated and further more there isn't any samples or good VB.NET reference on reading SMS.
Where is the location of the sms messages that is stored (from what I know/read, the sms is from the inbox), but how do I retrieve it from it and display it on the VB.NET application?
2.
Is it that I have used the wrong language? I've tried using j2me midlet to send/receive sms. But I need to know how to use the push registry and the sms port number.
3.
Upon receiving a message from a certain sender, how do i auto-acknowledge it?
----
Hope somebody can help. I'm rushing for time. Your help will be greatly appreciated.
I am not sure if this is the answer you want as you are talking about VB.NET. However I have sent and received SMS using Embedded C
The send sms is easy, as you have found out.
Receiving SMS is slightly harder as it seems that only one sms receive program can be active, normally that is the Inbox program. If you do a warm reset and then you can create a handle to a SmsRead. This action blocks Inbox. Inbox also blocks SmsRead getting a handle, that is why a warm reset is required.
The SmsRead function must be run as a seperate thread since it blocks waiting for an Sms Message. All the main thread does is it checks if ReceiveSmsMessage.SmsFlag is set true, if it is then it checks what the message was, does any necessary action and finally sets the SmsFlag to False again.
The SendSms function is used like
SendSMS( TEXT("+44123456789"),TEXT("Message Text") )
The Read function just works in a seperate thread and populates it's ReceiveSmsMessage structure
I would of thought you could translate the ideas here into VB.NET most of the functionality is with API functions anyway.
As to auto-acknowledge all you do there is send an sms message when the main thead finds one has been received, the telephone number to send back to is already in ReceiveSmsMessage.SmsPhone, so you simply do
SendSMS( ReceiveSmsMessage.SmsPhone, TEXT("Received") )
Isit that i have to apply both
#include <sms.h>
#include <tapi.h>
to activate ReadSms?
Is there anyway that I can translate it to VB.NET language?
No, you don't need Tapi.h, Tapi was for another function in the code that I cut these procedures out of.
Sorry I should of not included that when I copy and pasted from my code.
I have edited my attachment above and removed tapi.h. The code would of still compiled OK, it was simply a header file present that was unnecessary.
You only need sms.h, but thinking about it that would only be for the code when in C.
I can't help you with translating this into VB.NET. I have only used normal VB6 and to be truthfull I have never understood how to apply .NET, The important question is can VB.NET run a seperate thead as that is crucial due to the blocking function to wait for an Sms Message. I don't think multithreaded applications sharing data are possible under VB, but I am sure that has been added under .NET.
Assuming threads are possible then I would of thought you could compare my SendSms routine to your VB method to see how C API calls translate into VB.NET.
If anybody sorts the translation into VB.NET then please copy the answer back to this message thread as I would like to see how it is done.
Did you manage to read sms on a QTek 1010 / pocket PC 2002 ?
When I tried it, it said that the function is not supported.
I read somewhere that you have to use cemapi to be able to read
sms on PPC 2002, is that true?
thanks
awni
The code was written and run on an XDA, that is PPC2002 and is the same Original Wallaby device as yours.
When you compile the SMS functions you need to include sms.lib in the linking. Maybe that is your problem, check under Project -> Settings -> Link in eMVC that you sms.lib included in the object/library modules.
I was using it in a .NET environment(C#), there aren't any .h files in C#
and I was able to use SmsOpen in SEND mode without a problem. When I try to use SmsOpen in RECEIVE mode, I get an "Invalid argument" error.
I tried typecasting, and I got "Not supported error".
I've never used eVC, I just downloaded it yesterday. I've used VC++ 6.0
and 7.0, so I still need to figure out how to get eVC working..
awni
I think my problem is with the last argument to SmsOpen, I was sending
NULL/0 instead of using CreateEvent like you're doing.
HANDLE hRead = CreateEvent (NULL, FALSE, FALSE, NULL);
// Open an SMS Handle
HRESULT hr = SmsOpen (SMS_MSGTYPE_TEXT, SMS_MODE_RECEIVE,
&smshHandle, &hRead);
I'll try it as soon as I figure out how to create the thread...
thank for the code.
awni
Has someone got the reading SMS working ??? I checked the sample code out however i always get the error message to do warm reset !!! I read that this is due to the handle that is already used.
Any solutions here ??

Failed text message - retry?

Is there any way to get a text message to auto retry sending? also is there a way to set it so that when a text fails it sends you straight to the drafts folder?
Did you ever find an answer? Thanks
Na not had an answer to this yet, or found out how.

Invoke SMS composer

Hi all,
Coult you tell me how to invoke SMS composer with specified recipient and contents in C++?
Thanks a lot!
resolved. thx.

Unread SMS without title and sender

Hey guys,
today i received my P4350, i backed up my sms from my XDA-Neo with PPCimBackup and restored them onto the P4350...
But now i´ve got an unread mail in my sms folder, without any sender, message text or anything else. the receive time is always the actual time and i cant delete or move it.
has anyone of you an idea how to fix that?
I dont want to hardreset the device.
Greets Mäffjus
Additonal Info: It is running WM6 (by default).
Phantom SMS? Try to connect your device to desktop thru Jeyo Mobile Companion (trial version available at www.jeyo.com) and delete that SMS. Soft Reset.
its not working, ist shows now sms in inbox...i`m not sure why....
Maybe an error in the inbox database? can i edit the file via Hex or windows (XP) editor?
Further, do you know how i can disable the terrible sound when i sent an sms and the windows pops up? i found no entry in the registry.
hey, no further ideas?
easy as pie
just delete your sms/email inbox. It's the: " cemail.vol " In the mobile root directory. It'll be protected so you'll have to use a trick to get rid of it. Credit goes to Arkhipenko over at mobilitysite.com but here's a quick cut/paste of the solution.
"Hi,
I have recently discovered that my cemail.vol file went crazy: the outlook folders became misaligned.
Without much details of WHAT happened, I needed to delete cemail.vol.
It is not a simple thing since the file is constantly locked by some process (no idea which - I tried killing most of them via MemMaid to no success).
Anyway, to cut the long story short, one way to do it is to use...
Mortscript (what else!)
Create a simple script:
Delete "\cemail.vol"
Place a shortcut to this script to a \Windows\Startup folder and reset: you will have a brand new cemail.vol file when everything boots up (at least I did).
Don't forget to delete the shortcut, or you'll have a brand new cemail.vol every time you boot. "

Categories

Resources