VS.NET IDE 不支持 Module 开发,但可用 C# 命令行编译器生成 Module。请看帮助文档。   [DllImport("user32.dll", CharSet=CharSet.Auto),]
   private extern static bool WinHelp(Intptr hwnd, string helpFile, uint wCommand, int dwData);    第 2 个我找不到确切的原定义,我不乱写了。   注意:因为 VB 6 不支持无符号整数,所以只能用 long 来指代原定义为 uint 的参数。

解决方案 »

  1.   

    1,一样是模块,编译用:csc /t:module mycs.cs2,[DllImport("user32.dll", EntryPoint="WinHelp")]
    public static extern int WinHelp (
    int hwnd,
    string lpHelpFile,
    int wCommand,
    int dwData
    );第二个我感觉是字面错误,应该是RegQueryValueEx 而不是 regvalueEx:[DllImport("advapi32.dll", EntryPoint="RegQueryValueEx")]
    public static extern int RegQueryValueEx (
    int hKey,
    string lpValueName,
    int lpReserved,
    ref int lpType,
    ref int lpData,
    ref int lpcbData
    );这个API 没什么必要,因为C# 有比之更强大更简单数倍的注册表操作库,参见.net 的RegistryKey 类库。关于API 可以下载我的工具帮你生成: http://zpcity.com/arli3,OCX 属于COM 控件一样可以用但不推荐,而且字符集不同,就算用也只是托管,如果是库可以在引用里加,如果是可视控件,可以向VB6 一样右击左边的工具箱选添加,然后选到COM 页,如果不在列表中可以自己按浏览选择。。
      

  2.   

    谢谢楼上的,确实是抄错了。
    还有一个问题:
    以前用vb6做的imagelist如何导入c#?谢谢!
      

  3.   

    过去的imagelist 只能考虑将它分解成图标再导入C#,没有直接的转换,因为VB6的资源格式和.net 不同