|
|
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
|
|
|
|
|
If you have to use this specific code for a specific purpose then the original author is naughty to call it CRC32 if it isn't. The best way to proceed if you have to use this code and no other is to compile the C++ code into a managed DLL and include that assembly in your C# code - then it will only generate the wrong results if the original code is wrong as well! You should never use standby on an elephant. It always crashes when you lift the ears. - Mark Wallace
|
|
|
|
|
yupp I thought of that...but now I got the bug in the written code (C++). So all working fine now.
Btw, I can see somebody voted you 1. It wasn't me
Anyway, thanks for your time buddy. Have a nice day
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
|
|
|
|
|
Xmen W.K. wrote: So all working fine now
Glad to hear it!
Xmen W.K. wrote: Btw, I can see somebody voted you 1. It wasn't me
Didn't think it was - it's just an idiot you who thinks he's clever - I'm not bothered!
[edit]Typo as shown[/edit]You should never use standby on an elephant. It always crashes when you lift the ears. - Mark Wallace
modified on Thursday, February 18, 2010 8:27 AM
|
|
|
|
|
OriginalGriff wrote: you thinks he's clever
what made you think like that
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
|
|
|
|