|
Hi,
using the smtpclient.SendAsync method, I want to know how much byte (or the percentage)
has been sent out of total bytes.
I didn't found a way to get status information from the client.
Is there another way (for example over the sockets interface) to retrieve these missing information
if yes, how ?
Thank you for your time
Frank
|
|
|
|
|
The SmtpClient doesn't report any progress information, so you cannot do what you want using the SmtpClient class. You'll either have to find a 3rd party library that does what you want or write your own SmtpClient class.
|
|
|
|
|
Thank you Dave,
what you say I already know. But please say where to get these process information and how.
Solutions ?
Frank
|
|
|
|
|
Search for 'RFC 821' on Google (to start with.You'll find out there are more RFC's about sending email).
|
|
|
|
|
|
i have already developed a app which will run in two machine and send the screen shot of machine 1 to machine 2 and i am showing the scree shot of machine 1 on the picturebox through a application which is running in machine 2. so now i want to control mouse and keyboard of machine 1 programatically.
so i need concept. i have some idea like whenever i will move my mouse & click on picture box then i will just send some info like mouse move cordinate and click to the app which is running in machine 1. then machine 1 will move the mouse pointer to the location & click according to my info.
but the problem is if i send the mouse cordinate then two machine may have different resolution. in this case how could i handle this situation.
suppose if i send mouse move cordinate and click then how could i place mouse pointer on right object if machine 1 have different resolution.
so please help me with idea & sample code.
thanks in advance.tbhattacharjee
|
|
|
|
|
are use pictuerbox for showing the remotdesktop?
|
|
|
|
|
yes i will use pictuerbox for showing the remotdesktop screen. please help me. tbhattacharjee
|
|
|
|
|
try to set the size of the pictuerbox to the size of remote screen for the first step or you can set it before run the program
|
|
|
|
|
Start by reseaching "VNC". You'll find a bunch of information on it. This is a far more complex task than your post suggests it is.
|
|
|
|
|
I have developed this type of application in a secure remote sytem. if u can send complete application with running steps then only Help you
sushilsaini04@gmail.com
Sr. Soft. Engineer
Vidhya Technologies
|
|
|
|
|
Hello friends.
--------------------
There is a standard command windows as net use.
Is in .net a class working with these commands?.
Example for ping computer in a network there is class Ping.
If there are examples of work with these classes send to me by mail
Thanks all.
--------------------
Yours faithfully Arsen.modified on Wednesday, February 17, 2010 8:19 AM
|
|
|
|
|
1) Try here[^]
2) Don't post your email to any forum unless you really like spam!You should never use standby on an elephant. It always crashes when you lift the ears. - Mark Wallace
|
|
|
|
|
That's an awesome link Griff! Saved..
|
|
|
|
|
I'll be as helpful as I can,
www.google.com
type in the box
"net use" .NET
There's some results on there that point you in the right direction.
|
|
|
|
|
I found a code for calculating CRC, but it was in C++
unsigned int CRC32(char* text)
{
size_t textLen = strlen(text);
int i = 0;
unsigned int retHash = 0;
if(text[0] == '"')
i = 1;
for(i;i<textLen;i++)
{
char ctext = textLen[i];
if(ctext == '"')
break;
if(ctext - 65 > 25)
{
if(ctext == '\\')
ctext = '/';
}
else ctext += 32;
retHash = (1025 * (retHash + ctext) >> 6) ^ 1025 * (retHash + ctext);
}
return 32769 * (9 * retHash ^ (9 * retHash >> 11));
}
public static uint CRCRC(string text)
{
uint retHash = 0;
for (int a = 0; a < text.Length; a++)
{
char ctext = text[a];
if (ctext == '"')
break;
if (ctext - 65 > 25)
{
if (ctext == '\\')
ctext = '/';
}
else
ctext = (char)(ctext + 32);
retHash = (1025 * ((retHash + ctext) >> 6)) ^ 1025 * (retHash + ctext);
}
return 32769 * (9 * retHash ^ (9 * (retHash >> 11)));
}
so I converted it manually to C# but the result is not as expected. May be I did something wrong in converting...
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK[M`UKs*$GwU#QDXBER@CBN%
R0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
-----------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
The problem is maybe that char in C++ is an ASCII char (1 byte) and the char in C# is unicode (2 bytes).
Now if you look at the ctext += 32; statement.
The results will differ in C++ and C# for values above 223:
C++: 225 + 32 = 257 -> cast to char = 2
C#: 225 + 32 = 257 -> cast to char = 257!
Hope that helps.Greetings
Covean
|
|
|
|
|
Your method is not a copy of the C++ code. Read over the two, understand the logic and you'll see the issues in the listings.
To be a little more accurate, I normally start by writing each line from the original, finding the language equivalent. If I meet something that doesn't have an equivalent, then I work to understand what it does so I can imitate it. When I've written the code, I then go back to refactor it or improve on it.
|
|
|
|
|
Try using:
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(text); and then use bytes[a] instead of text[a]You should never use standby on an elephant. It always crashes when you lift the ears. - Mark Wallace
|
|
|
|
|
public static uint CRCRC(string text)
{
uint retHash = 0;
int a = 0;
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(text);
if (bytes[0] == 34)
a = 1;
for (; a < bytes.Length; a++)
{
byte val = bytes[a];
if (val == 34)
break;
if (val - 65 > 25)
{
if (val == 92)
val = 47;
}
else
val += 32;
retHash = (1025 * (retHash + val) >> 6) ^ 1025 * (retHash + val);
}
return 32769 * (9 * retHash ^ (9 * retHash >> 11));
}
not working
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK[M`UKs*$GwU#QDXBER@CBN%
R0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
-----------------------------------------------
128 bit encrypted signature, crack if you can
modified on Wednesday, February 17, 2010 8:20 AM
|
|
|
|
|
In the original, the code is using textLen, not text.
|
|
|
|
|
When you say "not working" what is not working? Remember, I can't see your screen, just what you tell me.
Check your logic - I notice that your loop is different from the C++ version which misses the first char if the string starts with '"' - yours ends the loop when it meets the first '"'. And please, don't use "magic numbers" - they make code really difficult to follow and maintain.You should never use standby on an elephant. It always crashes when you lift the ears. - Mark Wallace
|
|
|
|
|
not working mean, it suppose to return D18AA035 for B5_CUT2_1 but its returning 334A644A
OriginalGriff wrote: Check your logic - I notice that your loop is different from the C++ version which misses the first char if the string starts with '"' - yours ends the loop when it meets the first '"'.
I modified the code
OriginalGriff wrote: And please, don't use "magic numbers" - they make code really difficult to follow and maintain.
where ??
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK[M`UKs*$GwU#QDXBER@CBN%
R0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
-----------------------------------------------
128 bit encrypted signature, crack if you can
modified on Wednesday, February 17, 2010 8:16 AM
|
|
|
|
|
Xmen W.K. wrote: OriginalGriff wrote:
And please, don't use "magic numbers" - they make code really difficult to follow and maintain.
where ??
public static uint CRCRC(string text)
{
uint retHash = 0;
int a = 0;
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(text);
if (bytes[0] == 34)
a = 1;
for (; a < bytes.Length; a++)
{
byte val = bytes[a];
if (val == 34)
break;
if (val - 65 > 25)
{
if (val == 92)
val = 47;
}
else
val += 32;
retHash = (1025 * (retHash + val) >> 6) ^ 1025 * (retHash + val);
}
return 32769 * (9 * retHash ^ (9 * retHash >> 11));
}
34, 65, 25, 92, 47, 32 - these are all "magic numbers". Wiki - see Unnamed numerical constants here.[^] So called because they are necessary to the code but there is no explanation as to what the hell they are or do!
Looking at the original C++ code there is also a magic number 32769 - why? Does this have anything to do with the length of an int?
I am not convinced that the original code actually works (or even compiles): what is textLen[i] doing? textLen is a size_t (which is an unsigned int) not an array.
Try this[^] - I don't know that it works, I haven't tried it, but it is at least written in C# and looks like a CRC32 algorithm!You should never use standby on an elephant. It always crashes when you lift the ears. - Mark Wallace
|
|
|
|
|
That code is for specific CRC...I dunno why the author did that...I just got the code from a site that says its for that purpose(I need) so I simply tried to convert it to C# but I thought I may did something wrong. Thats why I asked here.
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK[M`UKs*$GwU#QDXBER@CBN%
R0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
-----------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|