By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
457,734 Members | 880 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 457,734 IT Pros & Developers. It's quick & easy.

Transferring a string to Outlook Express on a W98SE machine

P: n/a
string message = string.Format( "mailto:{0}?subject={1}&body={2}",
e_address, subject, body );
Process.Start( message );

These lines transfer an email text to Outlook Express.
body is a string in which all \r\n have been replaced by
%0d%0a, which works fine on my XP machine
but the application breaks down on W98SE. It would
appear that the problem lies in the length of the
body string. Because when the string is short
the application does not break down on W98SE.
Is there an explanation for this? Please help.
Nov 16 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a
Patrick de Ridder wrote:
string message = string.Format( "mailto:{0}?subject={1}&body={2}",
e_address, subject, body );
Process.Start( message );

These lines transfer an email text to Outlook Express.
body is a string in which all \r\n have been replaced by
%0d%0a, which works fine on my XP machine
but the application breaks down on W98SE. It would
appear that the problem lies in the length of the
body string. Because when the string is short
the application does not break down on W98SE.
Is there an explanation for this? Please help.


Invoked this way, Process.Start() uses the ShellExecuteEx() API, passing
in your string in the the lpFile field of the SHELLEXECUTEINFO structure
(I think).

Maybe Win98 has a limitation on the length that is supported for that
string. Also, .NET calls this API on win98 using the MS Layer for
Unicode, which adds Unicode support to Win9x (to a certain degree).
It's possible that this layer is where the limitation might be.

You could verify this by writing a quick-n-dirty Win32 app that calls
ShellExecuteEx directly (and via MS Layer for Unicode) to see if that's
the problem. If it is, then you might not have a choice but to find an
alternate method of providing the message body to Outlook Express, or
limit the length of the message - at least on Win9x.

--
mikeb
Nov 16 '05 #2

P: n/a
Hi Mikeb,
Thank you for your thorough explanation.
What would an alternative method be
to get a message across to Outlook Express?
Patrick.

"mikeb" <ma************@nospam.mailnull.com> wrote in message
news:OR**************@TK2MSFTNGP10.phx.gbl...
Patrick de Ridder wrote:
string message = string.Format( "mailto:{0}?subject={1}&body={2}",
e_address, subject, body );
Process.Start( message );

These lines transfer an email text to Outlook Express.
body is a string in which all \r\n have been replaced by
%0d%0a, which works fine on my XP machine
but the application breaks down on W98SE. It would
appear that the problem lies in the length of the
body string. Because when the string is short
the application does not break down on W98SE.
Is there an explanation for this? Please help.


Invoked this way, Process.Start() uses the ShellExecuteEx() API, passing
in your string in the the lpFile field of the SHELLEXECUTEINFO structure
(I think).

Maybe Win98 has a limitation on the length that is supported for that
string. Also, .NET calls this API on win98 using the MS Layer for
Unicode, which adds Unicode support to Win9x (to a certain degree).
It's possible that this layer is where the limitation might be.

You could verify this by writing a quick-n-dirty Win32 app that calls
ShellExecuteEx directly (and via MS Layer for Unicode) to see if that's
the problem. If it is, then you might not have a choice but to find an
alternate method of providing the message body to Outlook Express, or
limit the length of the message - at least on Win9x.

--
mikeb

Nov 16 '05 #3

P: n/a
Patrick de Ridder wrote:
Hi Mikeb,
Thank you for your thorough explanation.
What would an alternative method be
to get a message across to Outlook Express?
I'm sorry, but I have no clue on that.

"mikeb" <ma************@nospam.mailnull.com> wrote in message
news:OR**************@TK2MSFTNGP10.phx.gbl...
Patrick de Ridder wrote:

string message = string.Format( "mailto:{0}?subject={1}&body={2}",
e_address, subject, body );
Process.Start( message );

These lines transfer an email text to Outlook Express.
body is a string in which all \r\n have been replaced by
%0d%0a, which works fine on my XP machine
but the application breaks down on W98SE. It would
appear that the problem lies in the length of the
body string. Because when the string is short
the application does not break down on W98SE.
Is there an explanation for this? Please help.


Invoked this way, Process.Start() uses the ShellExecuteEx() API, passing
in your string in the the lpFile field of the SHELLEXECUTEINFO structure
(I think).

Maybe Win98 has a limitation on the length that is supported for that
string. Also, .NET calls this API on win98 using the MS Layer for
Unicode, which adds Unicode support to Win9x (to a certain degree).
It's possible that this layer is where the limitation might be.

You could verify this by writing a quick-n-dirty Win32 app that calls
ShellExecuteEx directly (and via MS Layer for Unicode) to see if that's
the problem. If it is, then you might not have a choice but to find an
alternate method of providing the message body to Outlook Express, or
limit the length of the message - at least on Win9x.

--
mikeb


--
mikeb
Nov 16 '05 #4

P: n/a
Ok, thanks.

"mikeb" <ma************@nospam.mailnull.com> wrote in message
news:uW*************@TK2MSFTNGP10.phx.gbl...
Patrick de Ridder wrote:
Hi Mikeb,
Thank you for your thorough explanation.
What would an alternative method be
to get a message across to Outlook Express?


I'm sorry, but I have no clue on that.

"mikeb" <ma************@nospam.mailnull.com> wrote in message
news:OR**************@TK2MSFTNGP10.phx.gbl...
Patrick de Ridder wrote:
string message = string.Format( "mailto:{0}?subject={1}&body={2}",
e_address, subject, body );
Process.Start( message );

These lines transfer an email text to Outlook Express.
body is a string in which all \r\n have been replaced by
%0d%0a, which works fine on my XP machine
but the application breaks down on W98SE. It would
appear that the problem lies in the length of the
body string. Because when the string is short
the application does not break down on W98SE.
Is there an explanation for this? Please help.

Invoked this way, Process.Start() uses the ShellExecuteEx() API, passing
in your string in the the lpFile field of the SHELLEXECUTEINFO structure
(I think).

Maybe Win98 has a limitation on the length that is supported for that
string. Also, .NET calls this API on win98 using the MS Layer for
Unicode, which adds Unicode support to Win9x (to a certain degree).
It's possible that this layer is where the limitation might be.

You could verify this by writing a quick-n-dirty Win32 app that calls
ShellExecuteEx directly (and via MS Layer for Unicode) to see if that's
the problem. If it is, then you might not have a choice but to find an
alternate method of providing the message body to Outlook Express, or
limit the length of the message - at least on Win9x.

--
mikeb


--
mikeb

Nov 16 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.