日期:2014-05-20  浏览次数:20800 次

首次开发C#程序的几个问题
首先声明,我是用C#在DOT   NET   1.1下开发WINDOWS   FORM的CS的应用,
因为时间比较紧,没时间去找资料,请各位朋友就下面的问题,给个提醒就够了,剩余的我自己查资料,比如给个类库或者函数。
1、用什么类库实现FTP客户端的操作,比如OPEN,LIST,DOWNLOAD;
2、不用WINAPI,怎么样注册表和INI文件;
3、C#写多线程的时候能否像MFC那样用线程类,我看了一些资料都是使用线程函数来实现的,但是由于线程比较复杂,用函数看起来代码太乱了。
4、如何用C#操作MSMQ消息队列,我要判断队列的是否存在,如果不存在则创建;消息队列是否安装;消息队列中还有多少个消息之类的操作;
5、C#如何引入COM控件?


------解决方案--------------------
2. C#中也要用WINAPI来访问INI文件
5. 在工具栏中右键添加COM组件
------解决方案--------------------
1.
用现成的FTP库或者你有时间自己写ftp协议也行

2.
using Microsoft.Win32;

RegistryKey 来操作注册表 不是Win32 API

3.
不太懂MFC的线程 不过C#有线程池

4.buzhi

5.控件-> 添加-> COM组件
------解决方案--------------------
1.http://dev.csdn.net/article/64/64219.shtm
2.注册表有using Microsoft.Win32.Registry,ini文件必须用API,但ini文件现在基本很少用,可考虑XML文件
3.C#用System.Threading.Thread操作线程很方便
4.不清楚
5.添加引用-》选择相应的组件即可
------解决方案--------------------
TO:3、C#写多线程的时候能否像MFC那样用线程类,我看了一些资料都是使用线程函数来实现的,但是由于线程比较复杂,用函数看起来代码太乱了。

MFC我懂的不多,但印象中好像与C#的线程使用差不多...都是实例化一个线程,指定一个线程函数,然后启动线程,线程便会执行线程函数中的操作...

楼主所说的线程类不知道是不是说将线程封装到一个类中呢?这样是方便线程中参数传递或者委托回调等 ...

如果是这样,请参见MSDN,上面有具体的例子..
ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_fxadvance/html/52b32222-e185-4f42-91a7-eaca65c0ab6d.htm

在给摘一段前言..

在 .NET Framework 2.0 版中,ParameterizedThreadStart 委托提供了一种简便方法,可以在调用 System.Threading.Thread.Start(System.Object) 方法重载时将包含数据的对象传递给线程。有关代码示例,请参见 ParameterizedThreadStart。

使用 ParameterizedThreadStart 委托不是传递数据的类型安全的方法,因为 System.Threading.Thread.Start(System.Object) 方法重载接受任何对象。一种替代方法是将线程过程和数据封装在帮助器类中,并使用 ThreadStart 委托执行线程过程。

......

如果没有MSDN,建议装一个,上面有很多信息..

------解决方案--------------------
http://dev.csdn.net/article/64/64219.shtm
好例子
------解决方案--------------------
2 http://blog.csdn.net/jxufewbt/archive/2006/06/29/849595.aspx
------解决方案--------------------
MFC里面的多线程和C#里面的写法基本一样。
引入com控件,只要在reference里面加入com的引用就可以了
Ftp应该有Ftpxxx类的。