Add your own alternative version
Stats
663.9K views 58.3K downloads 480 bookmarked
Posted
23 May 2000
|
Comments and Discussions
|
|
Hi Andy,
5 * from me.
I have a question, is the RDV available in vb.net ?I need to write a code in vb.net that can connect remotely to another PC.
Thanks
|
|
|
|
|
can you explain the meaning of each statement in the program?
|
|
|
|
|
could you help to check that?
I run RDS on xp, RDV on win7, now the xp mouse can not move to other position.
Great & Free windows software for you
http://www.aisnote.com
|
|
|
|
|
How start server as windows service?
|
|
|
|
|
Well, it is complicated. The system would have to be separated into a UI component and a service component. I've thought about doing it before but I haven't had a real need for that feature.
|
|
|
|
|
Done similar things before some time ago, but it was very easy, using the already built in RDP objects..
Why not use that?
"Microsoft Terminal Services..." - (Add COM ref..)
Or maybe that IS what you're using?
|
|
|
|
|
Well, would you believe that this project was never really about remote desktop? 
|
|
|
|
|
I believe you. You made it, after all...
But then what is it about? lol
Remote Control PCs?
You can have a form with several "RDPs" inside? Don't have to think about all the details, Microsoft has already done it for us?!
Wouldn't it be easier to build from that?
Just the title, the screenshots; same result with much simpler code?
|
|
|
|
|
The original intent of this project was for self learning. I wanted to understand bitmaps and sockets. I combined the two together to send a bitmap over the socket. Anyone who has ever played with bitmaps faces the question "what is a good bitmap to play with?" The answer is always "the desktop". So I started by capturing the desktop and sending it over a socket. I think there is good reusable code in the project for purposes other than remote controlling. You are absolutely correct that there are better and faster ways to do that task. Inside the project you will find: Code to use ZLIB as a multithreaded compressor, a robust system for capturing mouse and keyboard events, packaging them up in structures, and replaying them using Windows API's, turning a bitmap into an icon or cursor (who hasn't needed that from time to time?) and how to use sockets in the easiest way around by tieing them to the windows message pump and handling WM based socket events. So that, my friend, is the reason for this project and it is why I say it was never about remote controlling in the first place. Cheers!
|
|
|
|
|
if using Microsoft Terminal Services, one of the logged on user will be kicked out.
But this RDV is not kicking out the user
|
|
|
|
|
|
pay attention on auto_ptr and array, like in common.cpp:
void DebugMsg(const TCHAR * pwszFormat,...)
{
TCHAR buf[1024] = {'\0'};
va_list arglist;
va_start(arglist, pwszFormat);
int nBufSize = _vsctprintf(pwszFormat,arglist) + 1;
if (nBufSize)
{
std::auto_ptr<TCHAR> Buffer(new TCHAR[nBufSize]);
TCHAR * pBuffer = Buffer.get();
_vstprintf_s(pBuffer,nBufSize,pwszFormat,arglist);
va_end(arglist);
OutputDebugString(pBuffer);
}
}
auto_ptr uses delete on destructor, not delete []. Result is undefined (see many articles on net about auto_ptr and arrays). Use vector instead.
Good work indeed, my 5.
|
|
|
|
|
Thank you. I've read once that for "char" allocations that delete and delete [] have the same effect. I can't find a reference to the information anymore. I should be using vector. I will make the change. Thanks.
|
|
|
|
|
|
The system has been updated to be stable again in regards to the SOCKET connections as well as simplified on the user options. You just start/stop the system now without worrying about the underlying settings that control threads, screen partitioning, etc... I have also removed the icon chaning in the client side since it seems to stop working after awhile. I need to research this and it is possibly just some resource handles that may be accumulating and not releasing the way I thought they should.
|
|
|
|
|
I only have VS 2005 so I cannot properly access the project to find out, but I would like to know how I can start the server automatically. For example at Windows startup so that it's available for connections automatically.
It is possible to run it with an .ini file that might have the following info...
- port
- password
Or how can I run the program to "start", ie:
CMD > rds.exe -start
|
|
|
|
|
Avg brings this project up as a virus on my pc
|
|
|
|
|
AVG also brings up VNC as a virus.
|
|
|
|
|
|
It has been updated to have more simplistic options and is also stable again on the socket connections
|
|
|
|
|
1 start rds
2 start rdv
3 connect
4 close rds
5 rds crash
my enlish is poor.
hope to have a reply, nice day 
|
|
|
|
|
It has been updated to have more simplistic options and is also stable again on the socket connections
|
|
|
|
|
Nice Product. Thank you very much. Could you please provide TCP/IP to connect from server to client also. This is required for PCs behind NAT using private IP addresses.
|
|
|
|
|
This is on the horizon. It's a great way to create a tunnel 
|
|
|
|
|
The code is very good. Now I want to create m_Socket twice:create m_Socket and then call DisconnectServer() ,ShutDown(),close() close the m_Socket;then call m_Socket.Create() . I compiled the program and run the program ,but the program will be closed and not some tips.
Could you give me some suggestions?Thanks.
m_Socket.ShutDown();
m_Socket.Close();
// Delete the sink threads
DeleteSinkThreads();
// Stop the KB and Mouse timer
KillTimer(4);
// Update the connected status
m_bConnected = FALSE;
// Clean up the GDI
CleanupGDI();
m_Socket.Create();
// Set the parent for receiving socket notifications
m_Socket.SetParent(GetSafeHwnd());
// Attempt to connect to the server
m_Socket.Connect(m_csIp,atoi(m_csPort));
m_ConnectSocket<<Packet2;
modified 10-Dec-11 5:34am.
|
|
|
|
|
|
General News Suggestion Question Bug Answer Joke Praise Rant Admin
Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.
|
|