Just for reference, FTP is an application level protocol. It follows a fairly well-defined set of rules, and is text-based. It runs above TCP/IP services and sockets, and there are a thousand and more ways to implement it. If you are interested in writing your own FTP control, there are some resources you could check out. Hope they help (anyone) interested in writing an FTP control, server, or client.
First, a GREAT resource: http://www.faqs.org/rfcs/rfc-activeT.html
Second, some FTP RFC's:
File Transfer Protocol (the standard)
The File Transfer Protocol (older revisions, still useful)
Internationalization of FTP
PKI (Public Key Infrastructure) with FTP
i have created a service that listen on some port.
i want.when i send some command to that perticuler port.
then it will execute a setup file using
but when i send a command.It will execute Process.star()
line but process window did not appear.
what is the problem ?
is it possible that a process executed into a service?
In fact there are .NET APIs but they are not public.
You have two options :
- change the appropriate registry key for this service (see in HKLM\System\CurrentControlSet\Services\"servicename"\Type).
- use interop to call the native WIN32 CreateService method. This should be something like this :
public extern static IntPtr CreateService(IntPtr databaseHandle, string serviceName, string displayName, int access, int serviceType, int startType, int errorControl, string binaryPath, string loadOrderGroup, IntPtr pTagId, string dependencies, string servicesStartName, string password);
you should pass the numerical value of "interactive process" for the serviceType parameter.
I need to import functions frol UxTheme.dll, Windows XP's visual styles dll. Several of the functions have const parameters, and C# does not allow the use of the const keyword in function parameter definitions. I'm wondering if anyone knows how to import a function with constant parameters into a C# class.
public static extern int DrawThemeBackgroundEx(IntPtr hTheme, IntPtr hdc, int iPartId, int iStateId, const IntPtr pRect, const IntPtr pOptions);